24小时热门版块排行榜    

查看: 1047  |  回复: 3

科学啄木鸟

铁虫 (小有名气)

[求助] 用matlab写得一个程序,运行不了,不知如何改 已有2人参与

clc;clear
syms M1 M2 M3 %1Cl 2-K 3-Cd
z=[1,1,2];
load dataCl_K_Cd_25;
B0_12=0.04661;B1_12=0.22341;C_phi_12=-0.00044;
B0_13=0.01624;B1_13=0.43945;C_phi_13=-0.00109;
I=1/2*(M1.*z(1)^2+M2.*z(2)^2+M3.*z(3)^2);
Z=z(1)*M1+z(2)*M2+z(3)*M3;
A_phi=0.3920000000;
g=@(x)('2*(1-(1+x).*exp(-x))./x.^2');
g_der=@(x)('-2*(1-(1+x+x.^2/2).*exp(-x))./(x.^2)');
G=g(2*I.^0.5);
G_der=g_der(2*I.^0.5);
x_23=6*z(2)*z(3)*A_phi.*(I.^0.5);x_22=6*z(2)*z(2)*A_phi.*(I.^0.5);x_33=6*z(3)*z(3)*A_phi.*(I.^0.5);
J=@(x)('x.*(4+4.581*x.^(-0.7237).*exp(-0.0120*x.^(0.528))).^(-1)');
J_der=@(x)('(4+4.581*x.^(-0.7237).*exp(-0.0120*x.^(0.528))).^(-1)+(4+4.581*x.^(-0.7237).*exp(-0.0120*x.^(0.528))).^(-2).*(4.581*x.*exp(-0.0120*x.^(0.528)).*(0.7237*x.^(-0.7237-1)+0.0120*0.528*x.^(0.528-1).*x.^(-0.7237)))');
theta_23=(z(2)*z(3)./(4.*I)).*(J(x_23)-J(x_22)/2-J(x_23)/2);
theta_der_23=-(theta_23./I)+(z(2)*z(3)./(8*I.^2)).*(x_23.*J_der(x_23)-x_22.*J_der(x_22)/2-x_33.*J_der(x_33)/2);
syms theta23 psi
Phi_phi_23=theta23+theta_23+I.*theta_der_23;
Phi_23=theta23+theta_23;
Phi_der_23=theta_der_23;
B_phi_12=B0_12+B1_12*exp(-2.0*I.^0.5);
B_phi_13=B0_13+B1_13*exp(-2.0*I.^0.5);
B_12=B0_12+B1_12.*G;
B_13=B0_13+B1_13.*G;
B_der_12=B1_12*G_der./I;
B_der_13=B1_13*G_der./I;
C_12=C_phi_12./(2*(z(1)*z(2))^0.5);C_13=C_phi_13./(2*(z(1)*z(3))^0.5);
F=-A_phi*((I.^0.5)./(1+1.2*I.^0.5)+2*log(1+1.2*I.^0.5)/1.2)+M1.*M2.*B_der_12+M1.*M3.*B_der_13+M2.*M3.*Phi_der_23;
lnR1=z(2)^2*F+M1.*(2*B_12+Z*C_12)+M3.*(2*Phi_23+M1.*psi)+z(2)*(M1.*M2.*C_12+M1.*M3.*C_13);
lnR2=z(1)^2*F+M2.*(2*B_12+Z*C_12)+M3.*(2*B_13+Z*C_13)+z(1)*(M1.*M2.*C_12+M1.*M3.*C_13)+M2.*M3.*psi;
f1=1/2*(lnR1+lnR2);
x1=diff(f1,'theta23');
x2=diff(f1,'psi');
x0=1/2*(z(1)^2*F+M2.*(2*B_12+Z.*C_12)+M3.*(2*B_13+Z.*C_13)+z(1)*(M1.*M2.*C_12+M1.*M3.*C_13)+z(2)^2*F+M1.*(2*B_12+Z.*C_12)+2*M3.*theta_23+z(2)*(M1.*M2.*C_12+M1.*M3.*C_13));

x1=eval(x1);
x2=eval(x2);
X=[ones(5,1),x1,x2];
[b,bint,r,rint,stats]=regress(Y,X)




错误使用  .*
矩阵维度必须一致。

出错 Cl_Na_Sr_250000 (line 17)
theta_23=(z(2)*z(3)./(4.*I)).*(J(x_23)-J(x_22)/2-J(x_23)/2);



有没有哪位matlab大神帮看一下,问题出在哪,如何改
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chendequan

铁虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
内容已删除
QQ:516477448,真心帮助解决MATLAB相关问题,提供详细资料,Word文档明确具体问题及要求,尽力而为!
2楼2018-03-07 16:25:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

金小梅

新虫 (小有名气)

引用回帖:
1楼: Originally posted by 科学啄木鸟 at 2018-03-06 20:09:33
clc;clear
syms M1 M2 M3 %1Cl 2-K 3-Cd
z=;
load dataCl_K_Cd_25;
B0_12=0.04661;B1_12=0.22341;C_phi_12=-0.00044;
B0_13=0.01624;B1_13=0.43945;C_phi_13=-0.00109;
I=1/2*(M1.*z(1)^2+M2.*z(2)^2+M3.*z(3 ...

是直接运行不了?可以加断点试一试~

发自小木虫Android客户端
3楼2018-03-12 22:05:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

waterque

金虫 (正式写手)

【答案】应助回帖

可能一个原因是符号表达式在这里会出错,测试显示J_der(x_23) 和 J_der(x_22)并没有区别,实际上并没有参数代入表达式。可行的建议是把这两个表达式改写为函数,可在文件后定义这俩一个表达式。

如:
=======================================
function [j] = J(x)
j = x.*(4+4.581*x.^(-0.7237).*exp(-0.0120*x.^(0.528))).^(-1);
end

function [j_der] = J_der(x)
j_der = (4+4.581*x.^(-0.7237).*exp(-0.0120*x.^(0.528))).^(-1)+(4+4.581*x.^(-0.7237).*exp(-0.0120*x.^(0.528))).^(-2).*(4.581*x.*exp(-0.0120*x.^(0.528)).*(0.7237*x.^(-0.7237-1)+0.0120*0.528*x.^(0.528-1).*x.^(-0.7237)));
end
==============================

注意function 与end对应,不然后出错。

这个或许可以解决你现在的错误,完全测试还需要数据。
行自己的路:waterque@hotmail.com
4楼2018-03-13 11:41:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 科学啄木鸟 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +45 医学老男孩 2026-08-13 99/4950 2026-08-18 12:56 by dotnetchen9056
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 KZyU1THERRVo 2026-08-18 3/150 2026-08-18 12:52 by vHWVV9D5Deb5
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +13 Ldrop2023 2026-08-13 16/800 2026-08-18 12:25 by 淀粉搬运工
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +4 Tide man 2026-08-14 5/250 2026-08-18 11:35 by Tide man
[论文投稿] 投稿咨询 +4 wwm09 2026-08-17 5/250 2026-08-18 11:25 by 無關想念
[基金申请] 时间戳变了,能看出什么问题? +5 基诺咪客 2026-08-17 6/300 2026-08-18 11:06 by hunter无悔
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[基金申请] filecode=后面第一个是大写字母 +8 wangze12014 2026-08-14 10/500 2026-08-17 17:05 by xter9665
[基金申请] 今天系统多次维护,明天很可能放榜! +8 zju2000 2026-08-16 9/450 2026-08-17 12:20 by lmz0216
[基金申请] 时间戳又变了8-15 +13 archvillain 2026-08-15 25/1250 2026-08-16 20:13 by zhaosm1982
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 26/1300 2026-08-16 12:35 by 启萌科技
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
信息提示
请填处理意见