matlab怎么得到hilbert矩阵
要用matlab绘制ln(cond(Hn))~n曲线,其中Hn为hiltbert矩阵。本人matlab一点不会,求助。我连怎么得到hilbert矩阵都不知道...
要用matlab绘制ln(cond(Hn))~n曲线,其中Hn为hiltbert矩阵。本人matlab一点不会,求助。我连怎么得到hilbert矩阵都不知道
展开
5个回答
东莞大凡
2024-08-07 广告
2024-08-07 广告
OpenCV标定板是东莞市大凡光学科技有限公司在相机标定中常用的工具。它通常由黑白格点按一定规则排列在平面上组成,如棋盘格或圆形格等。在相机标定时,将标定板置于不同位置和姿态下拍摄图像,利用OpenCV库中的函数检测标定板上的角点或圆心,进...
点击进入详情页
本回答由东莞大凡提供
展开全部
Hiltbert矩阵是著名的病态矩阵。Matlab中有专门的Hiltbert矩阵极其准确逆矩阵的生成函数:
H=hilb(n),返回n阶Hiltbert矩阵,其元素为H(i,j)=1/(i+j+1)。例:
>>H=hilb(6)
H =
1.0000 0.5000 0.3333 0.2500 0.2000 0.1667
0.5000 0.3333 0.2500 0.2000 0.1667 0.1429
0.3333 0.2500 0.2000 0.1667 0.1429 0.1250
0.2500 0.2000 0.1667 0.1429 0.1250 0.1111
0.2000 0.1667 0.1429 0.1250 0.1111 0.1000
0.1667 0.1429 0.1250 0.1111 0.1000 0.0909
用Matlab绘制ln(cond(Hn))~n曲线,其中Hn为hiltbert矩阵时,可以用如下程序,其中k和n可以设成任意值,例如k=n=20:
>> C=[];
for k=2:20
H=hilb(k);
C=[C,cond(H)];
end
LC=log(C);n=2:20;
P=polyfit(n,LC,1)
plot(n,LC,'o',n,polyval(P,n))
residure=C-exp(polyval(P,n))
P =
2.3305 3.3378
residure =
1.0e+021 *
Columns 1 through 10
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
Columns 11 through 19
0.0000 0.0003 0.0005 0.0002 -0.0000 -0.0041 -0.0442 -0.4723 -4.9207
(图略)
H=hilb(n),返回n阶Hiltbert矩阵,其元素为H(i,j)=1/(i+j+1)。例:
>>H=hilb(6)
H =
1.0000 0.5000 0.3333 0.2500 0.2000 0.1667
0.5000 0.3333 0.2500 0.2000 0.1667 0.1429
0.3333 0.2500 0.2000 0.1667 0.1429 0.1250
0.2500 0.2000 0.1667 0.1429 0.1250 0.1111
0.2000 0.1667 0.1429 0.1250 0.1111 0.1000
0.1667 0.1429 0.1250 0.1111 0.1000 0.0909
用Matlab绘制ln(cond(Hn))~n曲线,其中Hn为hiltbert矩阵时,可以用如下程序,其中k和n可以设成任意值,例如k=n=20:
>> C=[];
for k=2:20
H=hilb(k);
C=[C,cond(H)];
end
LC=log(C);n=2:20;
P=polyfit(n,LC,1)
plot(n,LC,'o',n,polyval(P,n))
residure=C-exp(polyval(P,n))
P =
2.3305 3.3378
residure =
1.0e+021 *
Columns 1 through 10
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
Columns 11 through 19
0.0000 0.0003 0.0005 0.0002 -0.0000 -0.0041 -0.0442 -0.4723 -4.9207
(图略)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
clear;clf;
n=100; % n可取不同的正整数值
for k=1:n
H=hilb(k);
LCH(k)=log(cond(H));
end
plot(1:n,LCH)
title('ln(cond(Hn))与n之间的关系');
xlabel('n');
ylabel('ln(cond(H))');
n=100; % n可取不同的正整数值
for k=1:n
H=hilb(k);
LCH(k)=log(cond(H));
end
plot(1:n,LCH)
title('ln(cond(Hn))与n之间的关系');
xlabel('n');
ylabel('ln(cond(H))');
追问
能每句都 解释一下吗,还有matlab里是怎么循环的,C 语言里有for,i++.但是matlab里没有 呀。另外我的Qq是153685096能加我吗,刚才这个只是题目的第一小问。谢谢了
追答
clear;clf;
n=100; % n可取不同的正整数值
for k=1:n % 循环语句
H=hilb(k); % 生成k阶Hilbert矩阵
LCH(k)=log(cond(H)); % 计算Hilbert矩阵的条件数cond(H)及其ln值
end % 循环语句结束
plot(1:n,LCH) % 画图
title('ln(cond(Hn))与n之间的关系'); % 图标题
xlabel('n'); % x轴标题
ylabel('ln(cond(H))'); % y轴标题
其它问题,可通过百度消息联系。
参考资料: http://hi.baidu.com/zzz700/blog/item/45091938f66a6adb9f3d62a3.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
具体题目提供一下!
追问
问题里已经说了,求是如何求那条曲线,这是研究生数学分析的题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在Matlab中可以直接使用hilb()函数得到指定的希尔矩阵。即产生每个矩阵元素的值都等于 1/(行索引+列索引-1)的矩阵。
此外,产生特殊矩阵方面,matlab是很强大的工具,还包括一下一些函数能够产生特殊矩阵:
(1) 魔方矩阵魔方矩阵有一个有趣的性质,其每行、每列及两条对角线上的元素和都相等。对于n阶魔方阵,其元素由1,2,3,…,n2共n2个整数组成。MATLAB提供了求魔方矩阵的函数magic(n),其功能是生成一个n阶魔方阵。
(2) 范得蒙矩阵范得蒙(Vandermonde)矩阵最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。可以用一个指定向量生成一个范得蒙矩阵。在MATLAB中,函数vander(V)生成以向量V为基础向量的范得蒙矩阵。
(3) 希尔伯特矩阵在MATLAB中,生成希尔伯特矩阵的函数是hilb(n)。使用一般方法求逆会因为原始数据的微小扰动而产生不可靠的计算结果。MATLAB中,有一个专门求希尔伯特矩阵的逆的函数invhilb(n),其功能是求n阶的希尔伯特矩阵的逆矩阵。
(4) 托普利兹矩阵托普利兹(Toeplitz)矩阵除第一行第一列外,其他每个元素都与左上角的元素相同。生成托普利兹矩阵的函数是toeplitz(x,y),它生成一个以x为第一列,y为第一行的托普利兹矩阵。这里x, y均为向量,两者不必等长。toeplitz(x)用向量x生成一个对称的托普利兹矩阵。
(5) 伴随矩阵 MATLAB生成伴随矩阵的函数是compan(p),其中p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。
(6) 帕斯卡矩阵,二次项(x+y)n展开后的系数随n的增大组成一个三角形表,称为杨辉三角形。由杨辉三角形表组成的矩阵称为帕斯卡(Pascal)矩阵。函数pascal(n)生成一个n阶帕斯卡矩阵。
此外,产生特殊矩阵方面,matlab是很强大的工具,还包括一下一些函数能够产生特殊矩阵:
(1) 魔方矩阵魔方矩阵有一个有趣的性质,其每行、每列及两条对角线上的元素和都相等。对于n阶魔方阵,其元素由1,2,3,…,n2共n2个整数组成。MATLAB提供了求魔方矩阵的函数magic(n),其功能是生成一个n阶魔方阵。
(2) 范得蒙矩阵范得蒙(Vandermonde)矩阵最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。可以用一个指定向量生成一个范得蒙矩阵。在MATLAB中,函数vander(V)生成以向量V为基础向量的范得蒙矩阵。
(3) 希尔伯特矩阵在MATLAB中,生成希尔伯特矩阵的函数是hilb(n)。使用一般方法求逆会因为原始数据的微小扰动而产生不可靠的计算结果。MATLAB中,有一个专门求希尔伯特矩阵的逆的函数invhilb(n),其功能是求n阶的希尔伯特矩阵的逆矩阵。
(4) 托普利兹矩阵托普利兹(Toeplitz)矩阵除第一行第一列外,其他每个元素都与左上角的元素相同。生成托普利兹矩阵的函数是toeplitz(x,y),它生成一个以x为第一列,y为第一行的托普利兹矩阵。这里x, y均为向量,两者不必等长。toeplitz(x)用向量x生成一个对称的托普利兹矩阵。
(5) 伴随矩阵 MATLAB生成伴随矩阵的函数是compan(p),其中p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。
(6) 帕斯卡矩阵,二次项(x+y)n展开后的系数随n的增大组成一个三角形表,称为杨辉三角形。由杨辉三角形表组成的矩阵称为帕斯卡(Pascal)矩阵。函数pascal(n)生成一个n阶帕斯卡矩阵。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询