大连理工大学矩阵分析matla上机作业.pdf

矩阵与数值分析 上机实验报告 学生姓名: 高明星 班 级: 矩阵与数值分析 4 班 学 号: 专 业: 船舶与海洋工程 授课老师: 董波 大连理工大学 Dalian University of Technology 1 计算给定向量的范数 ( ) 题目:考虑计算给定向量的范数:输入向量x = , , …, ,输出 1 2 ‖ ‖ ‖ ‖ ‖ ‖ , , 。请编制一个通用程序,并用你编制的程序计算如下向量的范 1 2 ∞ 数: 1 1 1 ( ) x = (1, , , …, ) , = 1,2, …, . 2 3 对n = 10,100,1000甚至更大的n计算其范数,你会发现什么结果?你能否修改 你的程序使得计算结果相对精确呢? 1.1 源代码 function [z1,z2]=norm_vector(n) % 向量z1 的值为向量x 的是三种范数,向量z2 的值为向量y 的三 种范数,n 为输入参数 x=zeros(n,1); %为列向量x 预分配存储空间 y=1:n; %定义行向量y y=y; %把行向量y 改成列向量 for i=1:n x(i)=1/i; %按要求给向量x 赋值,其值递减 end normx1=norm(x,1); %求解向量x 的1 范数normx1 normx2=norm(x,2); %求解向量x 的2 范数normx2 normxinf=norm(x,inf); %求解向量x 的无穷范数normxinf normy1=norm(y,1); %求解向量y 的1 范数normy1 normy2=norm(y,2); %求解向量y 的2 范数normy2 normyinf=norm(y,inf); %求解向量y 的无穷范数normyinf z1=[normx1,normx2,normxinf]; z2=[normy1,normy2,normyinf]; end 1.2 函数调用及运行结果 n=10,[z1 z2]=norm_vector(10) n=100,[z1 z2]=norm_vector(100) n=1000,[z1 z2]=norm_vector(1000) n = 10 z1 = 2.928968253968254 1.244896674895769 1.000000000000000 z2 = 55.000000000000000 19.621416870348583 10.000000000000000 n = 100 z1 = 5.187377517639621 1.278664889713052 1.000000000000000 z2 = 1.0e+03 * 5.050000000000000 0.581678605417115 0.100000000000000 n = 1000 z1 = 7.485470860550344 1.282160117411847 1.000000000

文档评论(0)

1亿VIP精品文档

相关文档