声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1555|回复: 3

[编程技巧] 请高手指点指点(Inner matrix dimensions must agree.)

[复制链接]
发表于 2008-11-4 09:04 | 显示全部楼层 |阅读模式

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

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

x
我编了一函数文件如下:
function f=trytwo(A,x)
a=A(1);b=A(2);
f=a.^b+(x/b).^a-5/2*x*(x/b).^a;
然后在MATLA上运行下面命令:
x=[...];
y=[...];    %输入数据
A0=[0.0001,0.0001];
[A,resnorm]=nlinfit(x,y,'trytwo',A0)
运行后总是显示:
??? Error using ==> nlinfit
The model function 'trytwo' generated the following error:
Error using ==> mtimes
Inner matrix dimensions must agree.
我把函数文件后的*(x/b).^a除去后能运行,除去5/2*x*(x/b).^a中的x后也能运行,但我不能改动我文件中的公式,请问如何处理才好?谢谢!

[ 本帖最后由 sigma665 于 2008-11-4 09:06 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-11-4 09:06 | 显示全部楼层

回复 楼主 飞云 的帖子

把乘除前面都加点
发表于 2008-11-4 10:34 | 显示全部楼层

回复 楼主 飞云 的帖子

提示的很清楚了,相乘的两个矩阵不满足维数要求。自己设置断点调试一下吧。
btw:可以参看置顶帖里的常见错误整理帖。
发表于 2008-11-4 10:44 | 显示全部楼层
x必须是方阵才能正确运算的好像。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-14 19:29 , Processed in 0.071857 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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