matlab三次样条程序,三次样条matlab程序,含详细注释

clear;

f = input('请输入函数表达式:f(x) = ', 's');%注's',表明允许用户输入一个字符串

a = input('请输入区间左端值a:');

b = input('请输入区间右端值b:');

n = input('请输入区间等分值n:');

for i=1:n+1

x(i) = a + (b-a)/n*(i-1);

y(i) = eval(subs(f,'x(i)','x'));

end

n=n+1;

lamda(1)=1;%构造向量

miu(n)=1; %构造向量

h=diff(x); %若X为向量,Y = diff(X)= [X(2)-X(1),X(3)-X(2),...,X(n)-X(n-1)]

df=diff(y)/diff(x);

d(1)=6*(df(1)-1/2)/h(1);

d(n)=6*(0.5*81^-0.5-df(n-1))/h(n-1);

for j=2:n-1

lamda(j)=h(j)/(h(j-1)+h(j));

miu(j)=h(j-1)/(h(j-1)+h(j));

d(j)=6*(df(j)-df(j-1))/(h(j-1)+h(j));

end

miu=miu(2:end);

u=diag(miu,-1);r=

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值