声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1064|回复: 5

[编程技巧] [求助]matlab编程时遇到的问题

[复制链接]
发表于 2006-6-15 19:33 | 显示全部楼层 |阅读模式

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

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

x
[求助]matlab编程时遇到的问题

matlab中,
>> syms x y
>> z=x+y;
>> f=inline(z)
f =
Inline function:
f(x,y) = x+y
>> f(1,1,1)
??? Error using ==> inline/subsref
Too many inputs to inline function.
原因是因为输入了三个“1”,也即 f=x+y 中缺少与第三个“1”对应的变量。
现要求输入3个“1”也能的出正确结果(此问题对应正确结果是'2 ')<请问该如何处理!!!

[ 本帖最后由 lxq 于 2007-5-2 23:48 编辑 ]
回复
分享到:

使用道具 举报

发表于 2006-6-15 19:38 | 显示全部楼层
你的前半部分分析是有道理的,但后半部分可能在matlab中比较难实现<BR>
 楼主| 发表于 2006-6-15 20:03 | 显示全部楼层

回复:(xuebx)你的前半部分分析是有道理的,但后半部...

我想到一个方法,但因为对matlab不熟,不知道该如何做。方法思路如下:<BR>输入数据(x1=1,x2=1,x3=1)前,先判断函数(以上面的 f=x1+x2 为例) 中是否含有变量(如x3)<BR>如果有则不会出现问题<BR>如果没有则只将 x1=1, x2=1,带入计算即可<BR>我要问的是,有没有单独的命令来查找出函数中的参数
发表于 2006-6-15 20:08 | 显示全部楼层
function f=Inline(x,y,c)<BR> f(x,y) = x+y
发表于 2006-6-15 20:18 | 显示全部楼层
nargin: 函数的输入参数个数:<BR>function f=Inline(x,y)<BR>if nargin==2&amp;nargin==3<BR>    f(x,y) = x+y<BR>end
 楼主| 发表于 2006-6-15 21:02 | 显示全部楼层

回复:(zhangenter)nargin: 函数的输入参数个数:fu...

真是太谢谢了,用你的提示,我的问题解决了:)
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-20 07:26 , Processed in 0.063984 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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