The result of g and h should not contain c
2 次查看(过去 30 天)
显示 更早的评论
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/151908/image.jpeg)
g and h are unknown, A curve represent the values of c
program:
x=[0 0.25 0.50 0.70 0.80 1.00 1.3];
y=[0 5 7 9 10 11 12];
a=polyfit(x,y,3);
syms X g h t
fy=vpa(poly2sym(a,X),4)%制定v为变量。函数默认x为自变量
x1=min(x):max(x);
h1=polyval(a,x1);
c=fy;
%syms g h t [g,h]=dsolve('Dg+5*g+c*h=exp(t)','Dh-g-3*h=0','g(0)=1','h(0)=0','t')
simplify(g);
simplify(h);
ezplot(g,h,[0,1.3]);axis auto
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/151909/image.jpeg)
0 个评论
采纳的回答
Steven Lord
2015-7-8
Don't pass strings into DSOLVE. If you do that, it can't substitute the value in the variable c for the c term in the string. Take a look at the examples in the documentation for DSOLVE in your installation; if you're using a sufficiently recent release, they will show you how to define symbolic functions and use those symbolic functions to define the differential equations to be solved.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Equation Solving 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!