SystemModelLinearize问题
mathematica吧
全部回复
仅看楼主
level 3
我想给SystemModelLinearize线性化出来的状态矩阵里的r、l、c赋值,请问一下老哥们该怎么操作(下面是我的源代码)
model = SystemModel["Model2"];
spacemodel = SystemModelLinearize["Model2",
Method -> {"SymbolicDerivative",
"SymbolicParameters" -> {"r", "l", "c"}}];
r = 22;
l = 0.2;
c = 0.0001;
A = spacemodel[[1, 1]]
B = spacemodel[[1, 2]]
2022年10月17日 08点10分 1
level 3
或者说怎么给括号里的变量赋值
2022年10月18日 02点10分 2
吧务
level 10
那个东西的InputForm是QuantityVariable["x", IndependentPhysicalQuantity[""]]。
把这个东西替换掉或者对这个东西(局域)赋值就行。
2022年10月18日 07点10分 3
你好,怎么理解对这个东西的局域赋值呢?
2022年10月18日 08点10分
2022年10月18日 15点10分
@asdasd1dsadsa 好的,如果我想把它化成可以利用的矩阵,该用什么指令呢?
2022年10月19日 06点10分
@盖菜是我盖菜 什么叫可利用?你要的是类似/.QuantityVariable[v_,_]:>Symbol@v的东西么
2022年10月19日 11点10分
level 3
就是想把矩阵中这种类型的变量改为可以赋值的变量
2022年10月24日 05点10分 4
吧务
level 15
……你这"Model2"根本不是内置的模型,非要猜的话可能是与"DocumentationExamples.Modeling.ElectricCircuit.TextRLC"类似的东西。在这个模型的基础上试了一下:
1. ……顶楼的代码是不是从别处抄的?很难想象会有人知道用形如[[2,1]]的代码提取矩阵却不知道怎么处理那几个"r", "l", "c"。
2. 总之你先执行下 A//InputForm ,仔细观察下输出。
3. 要是还不知道怎么办,请阅读吧里精品《不会用 /. 和 -> 的人,连门都没入》:
tieba.baidu.com/p/7327906039
2022年11月05日 02点11分 5
level 3
一段时间没上贴吧了,首先谢谢您的回答。"Model2"是我自己在SystemModeler上画的一个简单RLC电路,之前有使用过[[]]的形式提取列表里的内容,然后教程上也看到过,但是这次问的问题是第一次遇到。我用InputForm查看A,看到里面的r、l、c是QuantityVariable/IndependentPhysicalQuantity的形式,我在帮助文档上查看了这两个指令的例程,还有ReplaceAll和Rule的用法,但我的能力还是有限,我还是没有找到解决这个问题的方法
2022年11月22日 06点11分 7
我只能说一切你需要的东西都已有人回复这帖子里了。剩下的看你自己了,不行的话找时间系统学学整个语言。
2022年11月22日 11点11分
@asdasd1dsadsa 回复 asdasd1dsadsa :嗯嗯,学无止境,确实是基础知识不够才没有get到你们回复的内容,的确应该多学学才行[haha]
2022年11月24日 05点11分
吧务
level 15
LZ在SE问了:
mathematica.stackexchange.com/q/276451/1871
2022年12月03日 03点12分 8
1