matlab 解一元非线性方程 参数传递疑问

在对一组信号做处理时,需要把之前解得的方差、均值等结果,赋值到一个非线性方程中求解,方程如下:log(x/a)-(b/a)^2/(c/d)^2*log(x/d)=0其中,... 在对一组信号做处理时,需要把之前解得的方差、均值等结果,赋值到一个非线性方程中求解,方程如下:
log(x/a)-(b/a)^2/(c/d)^2*log(x/d)=0
其中,a、b、c、d为之前处理得到的方差与平均值,x为未知量
我的问题是,如何实现MATLAB中动态的参数传递?用什么函数能解决呢?
现在我的做法是把a、b、c、d的值复制黏贴到solve中求解,这么做太笨了。。。
望赐教,不盛感激
展开
 我来答
淡定的先知
2011-06-10 · TA获得超过456个赞
知道答主
回答量:50
采纳率:0%
帮助的人:0
展开全部
clear all;
close all;
warning off all;

a = 1; %%此处a,b,c,d换成你自己的数值
b = 3;
c = 5;
d = 7;
r = solve('log(x/a)-(b/a)^2/(c/d)^2*log(x/d)=0','x');
r_temp = subs(r,'a',a); %%利用subs函数将符号表达式中的指定符号替换成数据
r_temp = subs(r_temp,'b',b);
r_temp = subs(r_temp,'c',c);
r_temp = subs(r_temp,'d',d);
result = r_temp %%result为最终结果
victoriajll
2011-06-10 · TA获得超过4884个赞
知道大有可为答主
回答量:654
采纳率:100%
帮助的人:1056万
展开全部
function main
a=2;
b=3;
c=4;
d=5;
%%%%%%你求出这些参数的代码
x=fun(a,b,c,d)
end

function x=fun(a,b,c,d)
syms x
y=log(x/a)-(b/a)^2/(c/d)^2*log(x/d);
x1=solve(y);
x=double(x1);
end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
707ncgzes
2011-06-11 · TA获得超过2657个赞
知道大有可为答主
回答量:4551
采纳率:0%
帮助的人:2784万
展开全部
代码是这样的:
[a,b,c,d]=solve('(a+300)*(a+300)+b*b=242500','(c-300)*(c-300)+d*d=242500','(a-c)*(a-c)+(b-d)*(b-d)=1000000','(b-d)/(a-c)=0.140540834')
结果有四组:
1,a,b,c,d=
-645.1911329 351.2023374 345.0769359 490.3754376
2,
-345.0769359 -490.3754376 645.1911329 -351.2023374
3,
495.13403441871544929862197087467+54.764098493321742310644330274791*i
69.586550138990974453113046837450-625.76458366341173499493975505703*i
-495.13403441871544929862197087467+54.764098493321742310644330274791*i
-69.586550138990974453113046837450-625.76458366341173499493975505703*i

4,
495.13403441871544929862197087467-54.764098493321742310644330274791*i
69.586550138990974453113046837450+625.76458366341173499493975505703*i
-495.13403441871544929862197087467-54.764098493321742310644330274791*i
-69.586550138990974453113046837450+625.76458366341173499493975505703*i
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式