24小时热门版块排行榜    

查看: 683  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

f2012

新虫 (小有名气)

[求助] matlab 语言错误

x0=[0.0350 0.16565];
x=fsolve('mnsi',x0)



引用m文件时报错Error: File: mnsi.m Line: 1 Column: 14
The expression to the left of the equals sign is not a valid target for an
assignment.


m文件function fx=mnsi(x)
T=1700;
a=[-45584.1,-39280.9,-10069.8,34484.37];
b=[28.50974,6.881164,2.113303,17.83834];
c=[0.5;0.5];
k=zeros(1,4);

有什么问题 麻烦帮忙看看
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
f2012: 金币+10, ★★★★★最佳答案 2013-10-15 20:17:22
没什么大问题,就是待求解方程没写对。以下所有程序复制进一个m文件运行即可。你可以检查一下fx(1)写得对不对。
CODE:
function solve_nonlEqs
format long
x0=[0.0350 0.16565];
x=fsolve(@mnsi,x0)
fval=mnsi(x)

function fx=mnsi(x)
T=1700;
a=[-45584.1,-39280.9,-10069.8,34484.37];
b=[28.50974,6.881164,2.113303,17.83834];
c=[0.5;0.5];
k=zeros(1,4);
for i=1:1:4;
k(i)=exp(a(i)/T+b(i));
end
fx(1)=c(1)*x(1)- c(2)*x(2)+(3* c(1)- c(2))*k(1)*((x(1)^3)* x(2))+ (5* c(1)- 3*c(2))*k(2)*(x(1)^5)* x(2)^3+(c(1)- c(2))*k(3)*(x(1)* x(2)+ (11* c(1)- 19*c(2))*k(4)*(x(1)^11)* (x(2))^19);
fx(2)=x(1)+x(2)+ k(1)*((x(1)^3)* x(2)+ k(2)*(x(1)^5)* (x(2))^3)+ k(3)*(x(1)* x(2)+ k(4)*(x(1)^11)* (x(2))^19);

结果:
x =

  1.0e-010 *

   0.159854118332060   0.159828336749788


方程残差fval =

  1.0e-010 *

   0.000012890791136   0.319682455081905
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
4楼2013-10-15 09:04:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

f2012

新虫 (小有名气)

引用回帖:
2楼: Originally posted by 月只蓝 at 2013-10-14 20:52:26
x在哪里呢?

function fx=mnsi(x)
T=1700;
a=[-45584.1,-39280.9,-10069.8,34484.37];
b=[28.50974,6.881164,2.113303,17.83834];
c=[0.5;0.5];
k=zeros(1,4);
for i=1:1:4;
k(i)=exp(a(i)/T+b(i));
end
fx(1)=c(1)*x(1)- c(2)*x(2)+(3* c(1)- c(2))*k(1)*((x(1)^3)* x(2))+ (5* c(1)- 3*c(2))*k(2)*(x(1)^5)* (x(2))^3)+( (c(1)- c(2))*k(3)*(x(1)* x(2)+ (11* c(1)- 19*c(2))*k(4)*(x(1)^11)* (x(2))^19);
fx(2)=x(1)+x(2)+ k(1)*((x(1)^3)* x(2)+ k(2)*(x(1)^5)* (x(2))^3)+ k(3)*(x(1)* x(2)+ k(4)*(x(1)^11)* (x(2))^19);
这个是全部的m文件 我不懂 新手。。。。。
3楼2013-10-14 21:01:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

f2012

新虫 (小有名气)

引用回帖:
4楼: Originally posted by 月只蓝 at 2013-10-15 09:04:27
没什么大问题,就是待求解方程没写对。以下所有程序复制进一个m文件运行即可。你可以检查一下fx(1)写得对不对。
function solve_nonlEqs
format long
x0=;
x=fsolve(@mnsi,x0)
fval=mnsi(x)

function fx=mn ...

如果方便的话   能不能  帮我看下 这几个方程 用什么方法解比较好  N1+N2+N3+N4+N5+N6 =1
aN1-bN2+(3a-b)N3+(5a-3b)N4+(a-b)N5+(11a-19b)N6=0
N3=K1*( N2^3)*N1
N4=K2*( N1^5)*(N2^3)
N5=K3*N1*N2
N6=K4* (N1^11)*(N2^19)

lnK1=45584.0871/T-28.50974
lnK2=39280.9406/T-6.8812
lnK3=10069.7385/T-2.1133
lnK4=34484.3661/T-17.838

T 可以任意赋值求 N1  N2      a b
值是已知的a+b=1   可以随意赋值
5楼2013-10-15 20:22:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见