我有一个正弦函数y = asin(b(x+c)),x为变量;
矩阵A为m*n的矩阵。
取x = 1:m
若y为正,则在A矩阵的第x行前边补round(y)个0,同时在该行的最后边删除round(y)个元素,使该行元素个数保持不变。
若y为负,则在A矩阵的第x行后边补round(y)个0,同时在该行的最前边删除round(y)个元素,使该行元素个数保持不变。
若y为0,则保持不变。
请问除了循环然后对每一行进行修改,有没有更好的方法实现。
matlab 矩阵每行单独补零问题
- 写回答
- 好问题 提建议
- 追加酬金
- 关注问题
微信扫一扫
分享- 邀请回答
2条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
slandarer 2021-09-08 23:58最佳回答 专家已采纳可以但没必要,比较麻烦,可以参考如下代码:
a=2; b=3; c=2; m=20; n=10; A=repmat(1:n,[m,1]); x=1:m; y=round(a.*sin(b.*(x+c))); nA=[zeros(m,a),A,zeros(m,a)]; Index=((a-y')+(1:n)-1).*m+(1:m)'; B=zeros(m,n); B(1:m*n)=nA(Index(1:m*n)); disp(A) disp(y) disp(B)
A矩阵:
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
y向量(round后):
1 -1 1 -2 2 -2 2 -2 2 -2 2 -2 2 -2 1 -1 1 -1 0 0
B矩阵:
0 1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9 10 0
0 1 2 3 4 5 6 7 8 9
3 4 5 6 7 8 9 10 0 0
0 0 1 2 3 4 5 6 7 8
3 4 5 6 7 8 9 10 0 0
0 0 1 2 3 4 5 6 7 8
3 4 5 6 7 8 9 10 0 0
0 0 1 2 3 4 5 6 7 8
3 4 5 6 7 8 9 10 0 0
0 0 1 2 3 4 5 6 7 8
3 4 5 6 7 8 9 10 0 0
0 0 1 2 3 4 5 6 7 8
3 4 5 6 7 8 9 10 0 0
0 1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9 10 0
0 1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9 10 0
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10采纳该答案 已采纳该答案 专家已采纳评论解决 无用打赏举报微信扫一扫
分享评论登录 后可回复...
报告相同问题?
相关推荐 更多相似问题
- 2021-09-08 16:48回答 2 已采纳 可以但没必要,比较麻烦,可以参考如下代码: a=2; b=3; c=2; m=20; n=10; A=repmat(1:n,[m,1]); x=1:m; y=round(a.*sin(b.*(x
- 2021-07-18 19:19回答 1 已采纳 不需要写循环,直接: A(A(:,4)<26.5,:)=[];
- 2022-03-27 16:55回答 3 已采纳 这个你可以先尝试了解下矩阵的任意行提取。你的第一个写法里面其实是按照指定步长来提取行数,1:2:3是从第一行起每两行计数一次直到第三行,所以是第一行计数了,第二行刚好空过,第三行又计数一次。这种写法就
- 2018-11-08 11:03喜欢打酱油的老鸟的博客 R 语言 R 是一种用于统计计算和图的语言及环境。它是一个 GNU 项目,与贝尔实验室的 John Chambers 及其同事开发的 S 语言及环境类似。R 可以视为 S 的一种不同实现。二者存在一些重要差异,但使用 S 写的很...
- 2021-12-03 21:44平平无奇的小女子~的博客 1、矩阵特征值的定义:设A是n阶方阵,如果存在常数入和n维非零列向量x,使得等式Ax=入x成立,则称入为A的特征值,x是对应特征值入的特征向量。 函数调用格式有两种: ①E=eig(A):求矩阵A的全部特征值,构成向量E。 ②...
- 2021-04-20 08:17圈泉的博客 Matlab是一款将数值分析、矩阵计算、信号处理和图形显示结合在一起,包含大量高度集成的函数可供调用,适合科学研究、工程设计等众多学科领域使用的一种简洁、高效的编程工具。不过由于Matlab使用的是解释性语言,...
- 2020-04-12 11:30回答 1 已采纳 ``` >> A=[1;2;4;5;6;7;8;9]; A = [A(A3)] A = 1 2 NaN 4 5
- 2021-06-06 21:13回答 3 已采纳 直接上代码吧 function Test() %% 案例1 A1= eye(4) f1 = Fun_isPD(A1); switch f1 case 1 disp('正定
- 2021-05-27 21:10回答 4 已采纳 是n行3列矩阵吗?代码: w = 1; n = 10; ii = 1:n; F = [cos(w*ii') sin(w*ii') ones(size(ii'))] F = 0.5
- 2021-04-08 15:36闲谈社的博客 专题二 MATLAB矩阵处理 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 ...
- 2020-07-20 16:08sxwlux的博客 根据前一段的时间matlab与VS程序数据互传的程序调试,总结一下编译调试过程中可通遇到的几个问题及处理方法。
- 2021-05-29 18:28对于格拉姆·施密特: 以矩阵的形式输入基,其中每一行对应于单独的基,即以 [U1;U2;U3.....;Un] 的形式,其中 U1,U2,U3.... 是单独的基向量。 例如如果 U1=(1 1 1) U2= (0 1 1) U3=(0 0 1) 那么我们的矩阵是 [1 1 1...
- 2021-12-16 16:56回答 2 已采纳 假设原矩阵为A,删除包含0的行之后的矩阵为B,程序如下: A = [1 2;3 0;0 0]; B = A((A(:,1)~=0).*(A(:,2)~=0)==1,:);
- 2022-03-12 15:21回答 1 已采纳 你好,这样就行 A(2,:) A([1,4],:) A([2,3], [1,2]) 有帮助望采纳哟谢谢啦
- 2016-12-02 14:12回答 2 已采纳 https://zhidao.baidu.com/question/680444810160853492.html
- 2021-03-19 05:14风吹幡动wsd的博客 简介channel 是 Go 语言中的一个核心类型,可以把它看成管道。并发核心单元通过它就可以发送或者接收数据进行通讯,这在一定程度上又进一步降低了编程的难度。channel 是一个数据类型,主要用来解决 go 程的同步问题...
- 2021-04-18 04:23Eric Q的博客 >总体上分为三部分:1.前处理 2.计算 3.后处理##1.前处理前处理中,网格化后,单元的个数...最大的问题是,就是用什么样的矩阵去存储他们,调用的效率最高。当单元的个数m和n确定下来后,那么单元的尺寸就可以确...
- 2021-07-18 18:57living_frontier的博客 MATLAB程序设计语言基础 一、变量与常量 1.1 常见数据类型 1.1.1 数值型数据 应当意识到,数值型数据概念的提出是与符号型数据想对应的,matlab一般存储数据为双浮点数,就势必造成存储和运算的误差,比如将 13\...
- 2021-09-14 22:48回答 1 已采纳 第一题没描述不清楚,给个第二题的解答: % (100+5x10^(-n))*(50+5x10^(-n))/(100x50)<=5/100 => 150x5x10^(-n)<5/100
- 2021-11-02 17:10yun_gao_的博客 MATLAB基础篇——基本语法一、数据类型与变量数据类型变量二、矩阵字符串三、运算四、MATLAB常用函数五、矩阵分析与处理六、程序设计 MATLAB ————Matrix laboratory 一般操作: 1.操作界面:主窗口,命令窗口,...
- 没有解决我的问题, 去提问