Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2008-12-22
年龄: 40
帖子: 4
声望力: 0 ![]() |
![]()
新手,刚刚接触,请问大家如何将已编好的程序调入。谢谢,
有个程序名:Sc.m” 调用到新程序中就不行了总是显示Get::noopen: "Cannot open Sc.m “ 源程序: << Sc.m xi3 = RT[{0, l1, 0}, {0, 0, 1}] 。。。 Js = Simplify[ Sp[{xi1, th1}, {xi2, th2}, {xi3, th3}, {xi4, th4}, gst0] ]; 大家帮帮忙, 谢谢! |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2009-03-13
年龄: 41
帖子: 3
声望力: 0 ![]() |
![]()
调用自己编的函数的话,一定要保证所存的.m文件名和编的函数名一致。另外你函数里也没有function声明,所以出的错。以下是自己编写m函数的一些注意事项,希望对你有所帮助。
(1) M函数的第一行必须包含function,普通的M文件没有这种要求。 (2) 在function后面必须声明函数名、输入变量(输入参数)与输出变量(输出参数),如function outvar=function_name(inputvar)。 (3) M函数可以有零个、一个或多个输入或输出。 (4) M函数的调用方式为:outvar=function_name(inputvar)。 (5) M函数文件名须和函数名function_name相同,调用时函数的输入与输出变量名称不需要和函数定义中的变量相同。 (6) M函数的注释用%开始的行表示,help function_name 显示的是紧接第一行之后的注释。 【例2.11】 编写一个通用的M函数求取【例2.10】中函数在任意点的值,并绘制函数在区间中的图形。 解:(1) 编写函数demofun并将其存储在同名M文件demofun.m中。 function y=demofun(x) % M函数定义 leng=length(x); % 计算向量x的长度 for m=1:leng % 计算函数值 if x(m)<=0 % 判断x取值所在范围 y(m)=sin(x(m)); % 计算分段函数值 elseif x(m)<=3 y(m)=x(m); % 计算分段函数值 else y(m)=-x(m)+6; % 计算分段函数值 end end 调用时,直接在命令窗口打出demofun然后回车。就运行了你编写的这个函数了。 |
![]() |
![]() |
![]() |
#3 |
游客
帖子: n/a
|
![]()
谢谢。
我是用得Package,没有说清楚。 我把所有文件放在了一个文件夹里,但是运行还是不行。 是不是这个Package有特殊的地方要放? |
![]() |
![]() |
#4 |
初级会员
注册日期: 2009-10-02
帖子: 1
声望力: 0 ![]() |
![]()
可以放在任何目录,但是调用时用Get[ ]函数,比如你把程序包放在了D盘根目录就应该输入:
Get["D:\\*.m"] 这里*代表文件名。这种方法是非规范安装,规范安装是这样的,将您的包文件存入 4.x版本:mathematica\4.x\AddOns\standardpackages 6.0及以后的版本: mathematica\6.0\AddOns\packages 调用时可用 <<*` |
![]() |
![]() |