matlab solve的用法问题 40

load('price.mat');h=50;symsxr;sum=0;n=length(price)shouyilv2=price2ret(price);m=lengt... load('price.mat');
h=50;
syms x r;
sum=0;
n=length(price)
shouyilv2=price2ret(price);
m=length(shouyilv2)
for i=1:n-1
intf=int(1/(sqrt(2*pi))*exp((-x^2)/2),(r-shouyilv2(1))/h,inf);
sum=sum+intf;
end
sum=intf;
rr=n*0.05;
rr;
r=solve('sum=rr',r)

结果是r =

solve([sum == rr], [r])
程序为什么不能显示结果呢?
展开
 我来答
野人无事不言L
2016-05-24 · TA获得超过1413万个赞
知道顶级答主
回答量:2242万
采纳率:0%
帮助的人:140.1亿
展开全部
这是由于matlab里面有个关于默认自变量规定问题 一般情况下默认自变量为表达式中距离x最近的字母 你可以用这种方法来求解 [x0]=solve('2600*(z0+15)=(z0-24985)*x1') [z0]=solve('2600*(z0+15)=(z0-24985)*x1') 由于上两行行中只有X1与z0两个变量,而且X1与X较近,所以是求解x1 为了求解z0,可以用 [z0]=solve('2600*(z0+15)=(z0-24985)*x1','z0') 这样的话就没问题了 建议你指定代求变量 相关函数 findsym 查找自变量,比较有用
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式