问题描述
我对 MATLAB 完全陌生。我正在尝试定义一个有助于高斯积分的函数。该函数应接受 n
(点数)作为输入并返回点的值 pG
和相关的权重 w
。我正在尝试将 piecewise
与 switch
结合使用,但它不起作用。我的代码如下
function gaussValues1D n = piecewise(n)
switch (n)
case 1
w=2; pG=0;
case 2
w=[1,1]; pG=[-1/sqrt(3),1/sqrt(3)];
case 3
w=[5/9,8/9,5/9]; pG=[-sqrt(3/5),sqrt(3/5)];
case 4
w=[(18+sqrt(30))/36,(18+sqrt(30))/36,(18-sqrt(30))/36,(18-sqrt(30))/36]; pG=[sqrt((3/7)-((2/7)*sqrt(6/5))),-sqrt((3/7)-((2/7)*sqrt(6/5))),sqrt((3/7)+((2/7)*sqrt(6/5))),-sqrt((3/7)+((2/7)*sqrt(6/5)))];
case 5
w=[128/225,(322+13*sqrt(70))/900,(322-13*sqrt(70))/900,(322-13*sqrt(70))/900]; pG=[0,(1/3)*sqrt(5-2*sqrt(10/7)),-(1/3)*sqrt(5-2*sqrt(10/7)),(1/3)*sqrt(5+2*sqrt(10/7)),-(1/3)*sqrt(5+2*sqrt(10/7))];
otherwise
error('No data are defined for this value');
end
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)