声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1123|回复: 3

[求助]matlab编程遇到的一个问题

[复制链接]
发表于 2005-12-29 16:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我在用matlab编程,遇到了一个问题. <BR>sovle_phi1(i,j,x)是我自己写的个小程序, <BR>用for i=1:3 <BR>    for j=1:3 <BR>        phi(i,j)=sovle_phi1(i,j,x); <BR>    end <BR>end <BR>调用时候,出现这样的错误:Conversion to double from sym is not possible. <BR>而如果这样sovle_phi1(1,2,x)调用,则就可以得到关于x的一个表达式,这是什么原因? <BR><BR>
回复
分享到:

使用道具 举报

发表于 2005-12-29 19:46 | 显示全部楼层

回复:(gigi_yl)[求助]matlab编程遇到的一个问题

把你的代码贴出来
 楼主| 发表于 2005-12-30 01:59 | 显示全部楼层
其中sovle_phi1(i,j,x)是我自己编的个小程序,如下: <BR>function phi=sovle_phi1(i,j,x)<BR>phi=sovle_phi_wave1(i,j,x)+sovle_phi_ave(i,x);<BR><SUB><FONT color=#e3e3e3> </FONT></SUB><BR>function phi_wave=sovle_phi_wave1(i,j,x)<BR>X=[0,20,40,60];L=60;<BR>l(j)=X(j+1)-X(j);<BR>xi(j)=(x-X(j))/l(j);<BR>H(1,j)=1-3*xi(j)^2+2*xi(j)^3;<BR>H(2,j)=l(j)*xi(j)*(1-xi(j))^2;<BR>H(3,j)=3*xi(j)^2-2*xi(j)^3;<BR>H(4,j)=l(j)*xi(j)^2*(xi(j)-1);<BR>y=sovle_y(i);<BR>theta=sovle_theta(i);<BR>phi_wave=H(1,j)*y(j)+H(2,j)*theta(j)+H(3,j)*y(j+1)+H(4,j)*theta(j+1);<BR><BR>function phi_ave=sovle_phi_ave(i,x) <BR>L=60; <BR>phi_ave=sin(i*pi*x/L); <BR><SUB><FONT color=#e3e3e3> </FONT></SUB><BR>function y=sovle_y(i) <BR>X=[0,20,40,60]';L=60; <BR>y=-sin(i*pi*X/L); <BR><SUB><FONT color=#e3e3e3> </FONT></SUB><BR>function theta=sovle_theta(i) <BR>%求解未知theta <BR>a=[2,1,0,0;0.5,2,0.5,0;0,0.5,2,0.5;0,0,1,2]; <BR>b=[-3*sin(i*pi/3)/20;-3*sin(2*i*pi/3)/40;3*sin(i*pi/3)/40;3*sin(2*i*pi/3)/20]; <BR>theta=a\b; <BR><BR>上面是与sovle_phi1(i,j,x)有关的几个小函数,我不会把它们组合在一个大函数里,只能是分开的!<BR>
发表于 2005-12-30 10:56 | 显示全部楼层
返回一个表达式,说明你在进行符号运算,<BR>你是怎么调用的?<BR>其中x给的是什么值 ?<BR>你说的错误是不能把符号变量转化成数值型<BR>
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-26 05:15 , Processed in 0.066730 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表