matlab 定义v(n)个变量以及@(x)函数累加求和的操作

本文介绍如何在Matlab中避免 '+’ 操作符与 'function_handle' 对象的不兼容问题,通过将累加操作封装到新的匿名函数中,解决了函数fun_1累积fun_1_all的问题。关键在于理解如何正确使用@符号和函数累加。
摘要由CSDN通过智能技术生成

% 首先定义v(i)变量,目的是当输入v(1)~v(16)就可以调用其中一个,查阅好多资料才找到

for i=1:16
    v(i)=sym(['v',num2str(i)]);
end

% 对@(x)函数累加求和
fun_1=0;
for ii=1:17
        fun_1_all=@(x) ((1-x./l_pipe1).*v(ii)+(x./l_pipe1).*v(ii+1)).^2;
        fun_1=fun_1_all+fun_1;
end

若经过以上程序,就会报错!!

未定义与 'function_handle' 类型的输入参数相对应的运算符 '+'。

经查阅大量大量资料,才找到解决方案!!

以下就是最终程序!!!!

for i=1:16
    v(i)=sym(['v',num2str(i)]);
end
fun_1=@(x) 0;
for ii=1:17
        fun_1_all=@(x) ((1-x./l_pipe1).*v(ii)+(x./l_pipe1).*v(ii+1)).^2;
        fun_1=@(x) fun_1_all(x)+fun_1(x);
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值