Matlab用solve函数,提示错误

clearall;closeall;clc;b=10;symsxzi;fori=0:0.01:piz=10/pi*(sini/sqrt(3)-i)-2;solve(cos... clear all;close all;clc;
b=10;
syms x z i;
for i=0:0.01:pi
z=10/pi*(sini/sqrt(3)-i)-2;
solve(cosi=((b-x)^2+z^2+x^2+z^2-b^2)/(2*((b-x)^2+z^2)^0.5*(x^2+z^2)^0.5)),'ignoreProperties', true);
plot(x,z);
hold on;
end
怎么改呢
展开
 我来答
themanisjimmy
推荐于2018-03-30 · TA获得超过2757个赞
知道小有建树答主
回答量:843
采纳率:89%
帮助的人:233万
展开全部
solve函数出错时,可以检查代码是否有如下问题:
1、是否有调用格式的错误,传入的表达式参数需要统一为字符串,或者统一为符号变量。(matlab在帮助程序中已经删去了对字符串传参的说明,字符串传参很有可能在未来版本被删除,因此推荐使用符号表达式传参数)

2、表达式中有错误。
①等式中的等号,对于字符串来说可以是'='或者'==',但是对于符号变量,则只能是'=='。
②习惯性错误,如 2x+1、xy、sinx、e^x、ln(x) 等等,这些都是错误的,会直接报错。
应该改为2*x+1 x*y sin(x) exp(x) log(x)

3、方程太过复杂,solve函数算法解不出来。这种情况不会报错,会返回warning说明说找不到解或是返回隐函数
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式