MATLAB中关于solve函数的用法

T0=1e10;Tend=1e-30;L=2;q=0.9;Time=ceil(double(solve(['num2str(T0)*(0.9)^x=',num2str(T... T0=1e10;
Tend=1e-30;
L=2;
q=0.9;
Time=ceil(double(solve(['num2str(T0)*(0.9)^x=',num2str(Tend)])));%计算迭代的次数

上面这个程序一运行就出现以下问题,我也不知道式之中引号应该往哪里放
错误使用 solve>getEqns (line 418)
List of equations must not be empty.

出错 solve (line 226)
[eqns,vars,options] = getEqns(varargin{:});
展开
 我来答
lhmhz
高粉答主

2018-07-19 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17014

向TA提问 私信TA
展开全部

主要是这个命令上的错误,['num2str(T0)*(0.9)^x=',num2str(Tend)]

最后一句代码应该这样改一下就可以了。

Time1=ceil(double(solve([num2str(T0),'*(0.9)^x=',num2str(Tend)]))) %计算迭代的次数

修改后执行结果

周校长说娱乐
2018-07-19 · 超过29用户采纳过TA的回答
知道答主
回答量:74
采纳率:78%
帮助的人:17.6万
展开全部
你将T0转化成字符串干什么?不知道你还有其他特殊的用途没有,我的理解就是你想解T0*(0.9)^x== 1e-30,这个用solve直接代进去解就可以了
syms x
Time=solve(T0*(0.9)^x== 1e-30,x)
如果你想了解solve的用法,用matlab的帮助文件查看一下,matlab的帮助文件还是很强大的,祝好!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
禾朋粟梦云
2020-08-19 · TA获得超过1142个赞
知道小有建树答主
回答量:1857
采纳率:100%
帮助的人:8.8万
展开全部
单引号里的东西是代表字符本身,系统不会认为它是一个变量或者数组名。solve('temp=1','p11')只会认为temp是要求解的未知量,结果是1,而你又要得到p11这个表达式里没有的东西,当然不可以咯。很简单,你把单引号去掉就可以了哦,此时等号也要去掉(右边默认为0)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小融说房产
2018-07-19 · TA获得超过216个赞
知道小有建树答主
回答量:796
采纳率:86%
帮助的人:148万
展开全部
x1=1;x2=2;w=3;f=4; %假设它们的值是这些 g=10; y1=f*g; y2=-f*g; k=solve('-y2=(-8)*x2*w^2*(sin(k)+x1/(16*x2))^2+4*x2*w^2+((x1*w)^2)/(32*x2)','k') k=subs(k) 运行结果: k = asin(1/16/x2*(-x1*w+(x1^2*w^2+32*y2*x2+128*x2^2*w^2)^(1/2))/w) asin(1/16/x2*(-x1*w-(x1^2*w^2+32*y2*x2+128*x2^2*w^2)^(1/2))/w) k = 0.4569 -0.5279
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
辉其夫河
2020-02-11 · TA获得超过1074个赞
知道小有建树答主
回答量:1843
采纳率:96%
帮助的人:13.3万
展开全部
帮助文档是写在m文件里的,没有m文件help也就显示不出了
-------------------------------------------------
正常安装matlab后一定有solve函数。
之所以没有可能是你没有安装工具箱symbolic
或者文件夹symbolic没有导入到matlab的工作路径中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式