如何在mupad(MATLAB)中实现此功能

如何在mupad(MATLAB)中实现此功能,matlab,symbolic-math,Matlab,Symbolic Math,我想实现以下功能。但是我不知道如何在一组变量上定义函数,比如mu(1),mu(2),mu(3),…,mu(c)c是一个数字符号(即,它是函数的参数,但不是输入值): 换句话说,我想要符号形式的f(MU)=范数(MU)^2,其中MU是1xc变量的向量 谢谢 编辑: 事实上,我想在mupad中跟踪以下计算 我还附上了计算步骤的图片(模糊c-均值) 我不确定我是否理解这个问题(为什么c可以是一个参数,而不是一个输入值?) 使用列表拨打电话: f([1,2,3,4]) 或者,为了能够调用f(1,2,3

我想实现以下功能。但是我不知道如何在一组变量上定义函数,比如
mu(1)
mu(2)
mu(3)
,…,
mu(c)
c
是一个数字符号(即,它是函数的参数,但不是输入值):

换句话说,我想要符号形式的
f(MU)=范数(MU)^2
,其中
MU
1xc
变量的向量

谢谢

编辑: 事实上,我想在mupad中跟踪以下计算

我还附上了计算步骤的图片(模糊c-均值)


我不确定我是否理解这个问题(为什么
c
可以是一个参数,而不是一个输入值?)

使用列表拨打电话:

f([1,2,3,4])
或者,为了能够调用
f(1,2,3,4)


谢谢你的回复。但我需要一个符号格式的。代码在MATLAB中,其中mupad(用于MATLAB符号处理的工具箱)生成符号结果。“C”在一个常数中,现在还不知道,你可以把它看成是一个数字符号(参数)@ ReMo,不幸的是,我对符号Matlab没有任何经验。但我可以问一下,为什么你认为你需要象征性的东西?对于此类优化问题,您可以使用Matlab的优化工具,如
fmincon()
。或者,如果你有一个分析解决方案(这里就是这种情况),只需定义合理的数据网格并解决它。答案非常清楚,类似于解释器和编译器的比较。以符号方式求解方程时,可以保存最终解,而不必考虑中间的计算,但数值解并非如此。谢谢你的评论谢谢你的回复,语法对我来说是新的,我学会了。但是如何跟踪(或重新生成)上面的计算,我不知道左侧的M和K与右侧的mu、xk、vi和lambda之间的联系是什么。(从上下文来看,lambda是新引入的,但是其他的,我真的猜不出来。)当我们想要进行模糊聚类时,计算就会出现,这里mu是隶属函数,c是聚类(组)的数量,m是一个简单的值(例如2),v_I是第I个聚类的质心,n是数据集的维数,W是我们想要优化的函数。我想更改W并跟踪计算(使用拉格朗日乘数)。谢谢
>> f = @(mu) sum(mu .^ 2); % applied on all elements
>> g = @(mu, c) sum(mu(1 : c) .^ 2);  % applied on mu(1:c)
>> f(1:3)

ans =

    14

>> g(1:10, 3)

ans =

    14
f := mu -> _plus(mu[i]^2 $ i=1..nops(mu));
f([1,2,3,4])
f := () -> _plus(args(i)^2 $ i=1..args(0));