matlab中Dsolve的初始值

matlab中Dsolve的初始值,matlab,symbolic-math,dsolve,Matlab,Symbolic Math,Dsolve,假设你有一个微分方程,你想用matlab中的dsolve函数来求解,但首先你必须向用户询问初始值,然后根据用户输入的内容,程序给出答案 我应该怎么做?您想知道如何获取用户输入吗?然后,您可以使用input()函数。例如: reply = input('Do you want more? Y/N [Y]: ', 's'); 其中,'s'参数意味着不会对用户的输入进行评估,即,字符仅作为MATLAB字符串返回。也许您希望用户输入一个表达式,由dsolve求解。您可以执行以下操作: expressi

假设你有一个微分方程,你想用matlab中的
dsolve
函数来求解,但首先你必须向用户询问初始值,然后根据用户输入的内容,程序给出答案


我应该怎么做?

您想知道如何获取用户输入吗?然后,您可以使用
input()
函数。例如:

reply = input('Do you want more? Y/N [Y]: ', 's');
其中,
's'
参数意味着不会对用户的输入进行评估,即,字符仅作为MATLAB字符串返回。也许您希望用户输入一个表达式,由
dsolve
求解。您可以执行以下操作:

expression = input('Which expression do you want to solve?','s');
dsolve(expression)
如果用户输入
'Dx=-a*x'
,则您将拥有
dsolve('Dx=-a*x')

更多信息请参见您尝试的。

(根据您的评论):

sym x
没有任何作用,因为您忽略了输出。你可以放心地忽略这一点

现在,要将用户输入获取到
dsolve
命令中,您必须编写创建相应字符串的代码:

y=dsolve('D2y+Dy+y=cos(x)',['y(0)=' num2str(a)],['Dy(0)=' num2str(b)],'x');

或者,使用带有
's'
标志和
['y(0)='a]

input
,我很高兴你能把所有这些都写进一句话中。但是你做了什么?如果您不知道如何使用dsolve,请阅读帮助。如果您不知道如何从用户那里获得输入,那么是时候开始阅读教程了。如果你表现出你已经做了一些努力,你会在这里得到更多的帮助。谢谢,但是我阅读了关于Dsolve和input函数的帮助,这是我程序的一部分:a=input('y(0)=');b=输入('y'(0)=');c=输入('输入域的第一个:');d=输入('输入域的最后一个:');sym x;y=dsolve('D2y+Dy+y=cos(x)','y(0)=a','Dy(0)=b','x');h=ezplot(y[cd]);我知道'y(0)=a'和'Dy(0)=b'在这种语法中是不正确的,这就是我的问题,我如何才能做到这一点??
y=dsolve('D2y+Dy+y=cos(x)',['y(0)=' num2str(a)],['Dy(0)=' num2str(b)],'x');