编程输入范德蒙形式的矩阵用matlab怎样做 A=(1 -1 1 -1 1;0 0 0 0 0;1 1 1 1 1;1 2 4 8 16;1 3 6 9 27)

已举报 回答 关注
编程输入范德蒙形式的矩阵用matlab怎样做 A=(1 -1 1 -1 1;0 0 0 0 0;1 1 1 1 1;1 2 4 8 16;1 3 6 9 27)
问在线客服
扫码问在线客服
  • 回答数

    5

  • 浏览数

    7,725

5个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
m=4;%范德蒙矩阵的行数
n=5;%范德蒙矩阵的列数
V=ones(m,n);%初始化矩阵
V(:,1)=1;%将第一列置1
x=[1 ;1;2;3 ];%矩阵第二列
for j = 2:n
V(:,j) = x.*V(:,j-1);
end
V
取消 评论
参考代码:
clcclear allclose allN0 = 2; % 要插入的0的个数x = [0,1,2,3,4,5,6,7,8,0];disp(x);y = x; % 插入后结果,初始化for i=1:N0 loc0y = find(y==0); % 找出y中0的下标 Ly = length(y); % x长度 pos0 = 1:(Ly+1); % 要插入的0的可能位置 if(~isempty(loc0y)) % 如果loc0x是非空则表示有0 d0y = [loc0y (loc0y+ones(1,length(loc0y)))]; % 不能插入的位置 pos0(d0y) = []; % 把不能放0的位置剔除 pr0 = pos0(randi(length(pos0))); % 在可放0的位置中随机挑出N0个,并将下标排序 else pr0 = pos0(randi(Ly)); % 空矩阵,说明x中没有零,则每个位置都可以,并将下标排序 end if(pr0==1) y = [0 y]; else if(pr0==(Ly+1)) y = [y 0]; else y = [y(1:(pr0-1)) 0 y(pr0:length(y))]; end endenddisp(y);输出效果
0 1 2 3 4 5 6 7 8 0
0 1 0 2 3 0 4 5 6 7 8 0
取消 评论
% 批量导入就这样
dirs=dir([direct,keyword,'.txt']); % eg:dirs=dir(['E:\test\','*.txt'])
sample_name={dirs.name}; % cell
% 然后在文件打开,读取,再关闭

% 或者要是你知道只有1,2,3,4.txt,for循环就够了
% 至于你说的将X换成0,不知道什么意思,字符替换?然后写入.txt中?
query=cell(0);
for i=1:1
fp=fopen(['E:\test\',num2str(i),'.txt'],'w+');
query{i}=fscanf(fp,'%c');

query{i}=strrep(query{i},'X','0');

% fwrite(fp,query{i}) %写入文件
fclose(fp);
end

你试试吧,不知道你想要怎样的
取消 评论
好像C口上 有JTAG接口,所以在熔丝中要禁用JTAG口才用做GPIO使用。
取消 评论
T=[1 -2 3 -4 2 -3];
Vandermonde=zeros(length(T),length(T));
for i=1:1:length(T);
Vandermonde(i,:)=(T).^(i-1);
end

Vandermonde =

1 1 1 1 1 1
1 -2 3 -4 2 -3
1 4 9 16 4 9
1 -8 27 -64 8 -27
1 16 81 256 16 81
1 -32 243 -1024 32 -243

我不清楚这个是不是你所描述的范德蒙矩阵。
取消 评论
ZOL问答 > 编程输入范德蒙形式的矩阵用matlab怎样做 A=(1 -1 1 -1 1;0 0 0 0 0;1 1 1 1 1;1 2 4 8 16;1 3 6 9 27)

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?