| 查看: 1671 | 回复: 6 | ||
[求助]
用matlab写得一个程序,运行不了,不知如何改 已有1人参与
|
|
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大神帮看一下,问题出在哪,如何改 |
» 猜你喜欢
新西兰Robinson研究所招收全奖PhD
已经有0人回复
石墨烯转移--二氧化硅衬底石墨烯
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有168人回复
笼目材料中量子自旋液体基态的证据
已经有0人回复
数学教学论硕士可以读数学物理博士吗?
已经有0人回复
德国亥姆霍兹Hereon中心汉堡分部招镁合金腐蚀裂变SCC课题方向2026公派博士生
已经有4人回复
澳门大学 应用物理及材料工程研究院 潘晖教授课题组诚招博士后
已经有11人回复
求助NH4V4O10晶体的CIF文件
已经有0人回复
英国全奖博士招聘-深度学习与量子物理
已经有0人回复
间接带隙半导体有效质量求助
已经有0人回复
投稿chemical physical letters不送审?
已经有2人回复
koobeexia
至尊木虫 (文坛精英)
- 应助: 223 (大学生)
- 金币: 23710.2
- 散金: 4156
- 红花: 40
- 帖子: 16246
- 在线: 721.4小时
- 虫号: 3873970
- 注册: 2015-05-17
- 性别: GG
- 专业: 计算数学与科学工程计算
2楼2018-03-06 20:42:22
3楼2018-03-06 20:49:48
独孤神宇
版主 (知名作家)
- 应助: 490 (硕士)
- 贵宾: 0.008
- 金币: 31014.8
- 散金: 802
- 红花: 122
- 沙发: 1
- 帖子: 5600
- 在线: 855.5小时
- 虫号: 3522474
- 注册: 2014-11-06
- 性别: GG
- 专业: 机械动力学
- 管辖: 计算模拟
★
月只蓝: 金币+1, 鼓励交流 2018-04-04 07:44:20
月只蓝: 金币+1, 鼓励交流 2018-04-04 07:44:20
|
太过混乱了,又是符号函数,又是匿名函数,参数传递写法不对吧。可以考虑用嵌套函数进行参数传递。P .S. 你这是做参数回归,可以考虑用1stOpt 发自小木虫Android客户端 |

4楼2018-03-06 20:57:29
5楼2018-03-06 21:04:16
rominglv
铜虫 (小有名气)
- 应助: 1 (幼儿园)
- 金币: 1996.1
- 红花: 4
- 帖子: 290
- 在线: 5.6小时
- 虫号: 3163538
- 注册: 2014-04-25
- 性别: GG
- 专业: 橡胶及弹性体
6楼2018-04-04 07:08:23
cherish02you
新虫 (初入文坛)
- 应助: 0 (幼儿园)
- 金币: 132
- 帖子: 34
- 在线: 17.1小时
- 虫号: 2840835
- 注册: 2013-12-01
- 专业: 化工热力学和基础数据
7楼2018-04-16 21:39:59













回复此楼