matlab 用平分法求一元函数极值

matlab 用平分法求一元函数极值,第1张

clc

clear all

syms x c

a=1b=7%自变量左右端点

eps=0.2%因变量精度

f=x^2-7*x+10 % 目标函数

df=diff(f)%一阶导数

k=0

to1=1 %精度指针

while to1 >eps

c=(a+b)/2

dfc=subs(df,c)

dfc=eval(dfc)

if dfc <0

b=c

else

a=c

end

to1=abs(b-a)

k=k+1

end

disp('迭代次数')

k

disp('极小点')

x=a

disp('最小值')

ff=subs(f,x)

计算加权平均分的示例代码如下:

>>x = [80 92 83 67] % 各科成绩

>>w = [2.5 1.0 1.5 3.0] % 各科学分

>>y = sum(x.*w)/sum(w)  % 加权成绩

y =77.1875

扩展资料:

Matlab常用函数和命令

size 矩阵的大小

slice 立体切片图

solve 求代数方程的符号解

spalloc 为非零元素配置内存

sparse 创建稀疏矩阵

spconvert 把外部数据转换为稀疏矩阵

semilogx: x轴为对数刻度,y轴为线性刻度

semilogy: x轴为线性刻度,y轴为对数刻度

floor(x):下取整,即舍去正小数至相邻整数

ceil(x):上取整,即加入正小数至相邻整数

参考资料来源:百度百科-matlab

假设x=[123456789101112...]是你的数据,

下面的代码可以实现你的功能:

A=zeros(length(x)/3, 3)% 预设矩阵A的大小

A(:,1) = x(1:3:end-2)

A(:,2) = x(2:3:end-1)

A(:,3) = x(3:3:end)

A就是你要的矩阵。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12032239.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存