matlab 中,定义的常量,在求解微分方程后为什么没有自动带入计算
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/12 23:28:56
matlab 中,定义的常量,在求解微分方程后为什么没有自动带入计算
如题.
如:
syms M G k;
M=2e+5;
G=2e+6;
k=2;
y=dsolve('Dy=M*vh/(G-k*vh)','y(0)=0','vh');
解出y是关于vh的表达式,式中有M,G,k,
比如得出了y =M/(2*k1) - M(k*vh^2 - G).
然后如何让他把M、G,k这几个常数带进去写成y关于vh的表达式呢?
如何算出y(vh=2)==?
这些是放在.m文件里的,所以我想在后面加句话就能实现,而不是把得到的结果复制过来,然后把字母改成常数.
在MATLAB的command window下,直接打出算出的式子M/(2*k1) - M(k*vh^2 - G),是可以显示出结果的.但是在.m文件中,怎样写才能使运行后就自动显示了呢?用solve会提示出错.
题问中“如何算出y(vh=2)==?”这句话写错了.抱歉.
应该是:如何算出y=200时,vh的值.
如题.
如:
syms M G k;
M=2e+5;
G=2e+6;
k=2;
y=dsolve('Dy=M*vh/(G-k*vh)','y(0)=0','vh');
解出y是关于vh的表达式,式中有M,G,k,
比如得出了y =M/(2*k1) - M(k*vh^2 - G).
然后如何让他把M、G,k这几个常数带进去写成y关于vh的表达式呢?
如何算出y(vh=2)==?
这些是放在.m文件里的,所以我想在后面加句话就能实现,而不是把得到的结果复制过来,然后把字母改成常数.
在MATLAB的command window下,直接打出算出的式子M/(2*k1) - M(k*vh^2 - G),是可以显示出结果的.但是在.m文件中,怎样写才能使运行后就自动显示了呢?用solve会提示出错.
题问中“如何算出y(vh=2)==?”这句话写错了.抱歉.
应该是:如何算出y=200时,vh的值.
说明
1、不需要使用syms定义那几个符号量.
2、使用subs函数把数据代入表达式.
3、使用solve函数求解,并使用double函数转换为浮点数.
4、给出绘图结果,可以直观地验证解的正确性.
参考代码
M=2e+5;
G=2e+6;
k=2;
y=dsolve('Dy=M*vh/(G-k*vh)','y(0)=0','vh');
% 得到y关于vh的表达式
y=subs(y)
% 求出y=200对应的vh
vh = solve(y-200)
% 上面求出的是解析解,表达式比较复杂,转为浮点数
vh = double(vh)
% 绘图
ezplot(y,[-100 100])
hold on
plot(vh,200,'ro')
1、不需要使用syms定义那几个符号量.
2、使用subs函数把数据代入表达式.
3、使用solve函数求解,并使用double函数转换为浮点数.
4、给出绘图结果,可以直观地验证解的正确性.
参考代码
M=2e+5;
G=2e+6;
k=2;
y=dsolve('Dy=M*vh/(G-k*vh)','y(0)=0','vh');
% 得到y关于vh的表达式
y=subs(y)
% 求出y=200对应的vh
vh = solve(y-200)
% 上面求出的是解析解,表达式比较复杂,转为浮点数
vh = double(vh)
% 绘图
ezplot(y,[-100 100])
hold on
plot(vh,200,'ro')
matlab 中,定义的常量,在求解微分方程后为什么没有自动带入计算
如何在matlab中定义一个常量?
MATLAB 求解微分方程的错误
matlab求解微分方程的问题
Matlab求解方程时原函数计算的值带入其反函数,计算错误
微分方程中解出的y=f(x),用f(-x)替换后带入微分方程中依然成立,从数学角度来说是为什么?
求各路大神指导,MATLAB中:利用dsolve求解偏微分方程 的解(用符号计算).
龙格库塔法在matlab中能不能实现一阶常微分方程的计算?
用matlab求解下面的二元微分方程
matlab求解微分方程的本征值
matlab求解微分方程的通解问题
matlab求解微分方程的答案出错