楼主: 409560013
5597 21

[Minitab] 请教matlab高手:这行代码为什么错了? [推广有奖]

11
denialme 发表于 2009-7-29 20:50:12
在你运行到出错部位,你在command window里依次输入以下命令,看出错情况:
(1)  A_j=@(J_1)[zeros(8,8)]
(2) eval(['A_j=@(J_1)[zeros(8,8)];'])
(3) sprintf('eval([''%s_j=@(%s)%s;''])',char(matj),it_name,target)
(4) eval(sprintf('eval([''%s_j=@(%s)%s;''])',char(matj),it_name,target))

仍然建议,改用matlb r2007a以上版本,可能你的问题就不是问题了。
denialme 发表于 2009-7-29 20:45
这个语句在matlab7里面是没有问题的。很有可能是mtlab6.5 还不支持@这种方式。
你在command window里面 输入以下命令试试(最好用复制,因为中间有空格):
sqr = @(x) x.^2;
如果出错,即说明matlab6.5 还不支持@。
409560013 发表于 2009-7-28 20:59
谢谢denialme 的帮助!
    ordeig这个函数也有点问题。
    我是用matlab6.5,所以可能有些问题。在我的电脑上到这里就出问题了:
Error in ==> ..\linlagex\matrix_function.m
On line 23  ==> eval(sprintf('eval([''%s_j=@(%s)%s;''])',char(matj),it_name,target))
        我的例子是没有问题的。我试过了其他很准确的例子但是还是出问题。
    还得再试试,总是出问题。
    谢谢你!怎样把论坛币转给你?
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
409560013 + 1 + 1 + 1 好建议

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

12
denialme 发表于 2009-7-29 20:50:51
在你运行到出错部位,你在command window里依次输入以下命令,看出错情况:
(1)  A_j=@(J_1)[zeros(8,8)]
(2) eval(['A_j=@(J_1)[zeros(8,8)];'])
(3) sprintf('eval([''%s_j=@(%s)%s;''])',char(matj),it_name,target)
(4) eval(sprintf('eval([''%s_j=@(%s)%s;''])',char(matj),it_name,target))

仍然建议,改用matlb r2007a以上版本,可能你的问题就不是问题了。
denialme 发表于 2009-7-29 20:45
这个语句在matlab7里面是没有问题的。很有可能是mtlab6.5 还不支持@这种方式。
你在command window里面 输入以下命令试试(最好用复制,因为中间有空格):
sqr = @(x) x.^2;
如果出错,即说明matlab6.5 还不支持@。
409560013 发表于 2009-7-28 20:59
谢谢denialme 的帮助!
    ordeig这个函数也有点问题。
    我是用matlab6.5,所以可能有些问题。在我的电脑上到这里就出问题了:
Error in ==> ..\linlagex\matrix_function.m
On line 23  ==> eval(sprintf('eval([''%s_j=@(%s)%s;''])',char(matj),it_name,target))
        我的例子是没有问题的。我试过了其他很准确的例子但是还是出问题。
    还得再试试,总是出问题。
    谢谢你!怎样把论坛币转给你?
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
409560013 + 1 + 1 + 1 好建议

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

13
denialme 发表于 2009-7-29 20:58:04
论坛币么,似乎是用回复帖右下角的“评分”工具吧。
具体我也不清楚,没用过,这个论坛来得不多。
在百度上搜到这论坛还有几份我要的资料,本想帮你一下,挣点币下载书的。
不过资料现已下载到,也就无所谓了。
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
409560013 + 1 + 1 + 1 赠送论坛币500

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

14
409560013 发表于 2009-7-29 22:41:42
sqr = @(x) x.^2;
        这个地方是出错了,也就是说matlab6.5的版本可能不支持函数句柄@, 那么请问命令
eval(sprintf('eval([''%s_j=@(%s)%s;''])',char(matj),it_name,target))
        应该怎样改正?

15
409560013 发表于 2009-7-29 22:43:22
我得认真查查函数句柄,好像其他的例子也是表明matlab6.5不支持函数句柄@。

16
409560013 发表于 2009-7-29 22:53:58
我还是改用7.0版本的matlab吧,这软件太大了!

17
denialme 发表于 2009-7-30 21:03:36
matlab 7.0可能缺少一些函数,因此你还是安装matlab r2007a 以上版本为好。

软件确实比较大,不过与现在的大型游戏相比,还算是很小了。
409560013 发表于 2009-7-29 22:53
我还是改用7.0版本的matlab吧,这软件太大了!

18
denialme 发表于 2009-7-30 21:07:55
matlab6.5实现这个功能的方法我也不清楚。但是,没有必要抱着6.5不放吧?
409560013 发表于 2009-7-29 22:41
sqr = @(x) x.^2;
        这个地方是出错了,也就是说matlab6.5的版本可能不支持函数句柄@, 那么请问命令
eval(sprintf('eval([''%s_j=@(%s)%s;''])',char(matj),it_name,target))
        应该怎样改正?

19
409560013 发表于 2009-7-31 12:36:25
denialme :
        很感谢啊!
我知道怎样把论坛币转给你了,你在这里出售一个帖子,然后把价格定为500就行了。
然后我购买。

20
denialme 发表于 2009-7-31 23:02:35
不客气。
其实我现在比较想知道的是,你的问题解决了没有?
售帖是不用的了,那大概会让你另外损失论坛币的。
我猜测你应该选择结帖,然后会有让你送币的选项的。无所谓的,我现在也不需要,哈哈。
409560013 发表于 2009-7-31 12:36
denialme :
        很感谢啊!
我知道怎样把论坛币转给你了,你在这里出售一个帖子,然后把价格定为500就行了。
然后我购买。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-27 03:14