The result of g and h should not contain c

2 次查看(过去 30 天)
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

采纳的回答

Steven Lord
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 个)

类别

Help CenterFile Exchange 中查找有关 Equation Solving 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by