24小时热门版块排行榜    

查看: 254  |  回复: 3
当前主题已经存档。

snowwinter10

木虫 (正式写手)

[交流] 【求助】matlab程序写函数文件出错

原来的程序
clear;clc
syms x z r
f=int(4*x*z+i*r,x,0,1);
[r,z]=meshgrid(0:0.1:1,0:0.1:1);
y=eval(abs(f));
mesh(r,z,y)

请教一下,若要把4*x*z+i*r独立出来,用一个函数文件来写该怎么写?我写的如下,可是出错。
clear;clc
syms x z r
f=int('fun2',0,1);
[r,z]=meshgrid(0:0.1:1,0:0.1:1);
y=eval(abs(f));
mesh(r,z,y)

function f=fun2(x)
f=4*x*z+i*r;

谢谢!
回复此楼

» 猜你喜欢

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

change0618

铁杆木虫 (著名写手)

方丈大师

★ ★ ★
nono2009(金币+1):谢谢应助!ms帖主还有问题,请继续关注一下。 1-26 13:44
snowwinter10(金币+2):谢谢! 2010-01-28 13:16
有子函数必须要定义主函数

就是在第一行加

function 函数名

clear; clc
.....
....
.....
function f==fun2(x)
f=4*x*z+i*r;
2楼2010-01-26 10:41:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snowwinter10

木虫 (正式写手)

nono2009(金币+0):建议通过“引用回复该帖”或PM,以便别人及时收到你的message. 1-26 13:43
谢谢!不过还是有问题,出现的错误提示是:
??? Error using ==> surface
Matrix dimensions must agree.

Error in ==> D:\MATLAB6p1\toolbox\matlab\graph3d\mesh.m
On line 93  ==>       hh = surface(x,y,z,'FaceColor',fc,'EdgeColor','flat', 'FaceLighting', 'none', 'EdgeLighting', 'flat');

Error in ==> D:\MATLAB6p1\work\JF20100126_1.m
On line 7  ==> mesh(r,z,y)
3楼2010-01-26 10:48:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chxmright

木虫 (正式写手)


snowwinter10(金币+1):谢谢! 2010-01-28 13:16
引用回帖:
Originally posted by snowwinter10 at 2010-01-26 10:48:31:
谢谢!不过还是有问题,出现的错误提示是:
??? Error using ==> surface
Matrix dimensions must agree.

Error in ==> D:\MATLAB6p1\toolbox\matlab\graph3d\mesh.m
On line 93  ==>       hh =  ...

可能某个矩阵需要转置一下。检查下
一个人静静地看看天~。~
4楼2010-01-27 16:59:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 snowwinter10 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见