matlab中怎样将变量作为函数的输入值

问题描述:

matlab中怎样将变量作为函数的输入值
定义
function f=M(s,t,q)
f=@(x,y,z)2*max(0,1-max(max(abs(s-x)+abs(t-y),abs(s-x)+abs(q-z)),abs(q-z)+abs(t-y)));
怎样运行M(a,b,c)有结果?
运行M(a,b,c)
想得到的是一个表达式:
2*max(0,1-max(max(abs(a-x)+abs(b-y),abs(a-x)+abs(c-z)),abs(c-z)+abs(b-y)))
1个回答 分类:综合 2014-11-04

问题解答:

我来补答
M.mfunction f=M(s,t,q,x,y,z)
f=2*max(0,1-max(max(abs(s-x)+abs(t-y),abs(s-x)+abs(q-z)),abs(q-z)+abs(t-y)));运行:>> f=M(1,2,3,4,5,6)

f =

     0
 >> f=M(0,0,0,0,0,0)

f =

     2
再问: 运行M(a,b,c)

想得到的是一个表达式:
2*max(0,1-max(max(abs(a-x)+abs(b-y),abs(a-x)+abs(c-z)),abs(c-z)+abs(b-y)))
再答: M.mfunction f=M(s,t,q)
f=@(x,y,z)2*max(0,1-max(max(abs(s-x)+abs(t-y),abs(s-x)+abs(q-z)),abs(q-z)+abs(t-y)));运行>> f=M(1,2,3)

f = 

    @(x,y,z)2*max(0,1-max(max(abs(s-x)+abs(t-y),abs(s-x)+abs(q-z)),abs(q-z)+abs(t-y)))

>> g=sym(f)
 
g =
 
2*max(0, 1 - max(abs(s - x) + abs(t - y), abs(q - z) + abs(s - x), abs(q - z) + abs(t - y)))
 
 
展开全文阅读
剩余:2000
上一页:指函数和对函数
下一页:字丑请见谅。