日期向量在matlab输入向量中如何输入

求教!!!在matlab中怎么使用input输入输入一个行向量_百度知道
求教!!!在matlab中怎么使用input输入输入一个行向量
我有更好的答案
想输入什么样的行向量?字符型的还是数值型的?最简单的:a=input('please input your number:');please input your number:[1 2 3 4 5 6]&& aa =
采纳率:88%
为您推荐:
其他类似问题
行向量的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。matlab做图,如何把日期数据放到横轴上。_百度知道
matlab做图,如何把日期数据放到横轴上。
我有更好的答案
  日期数据的格式例如:630 (01年1月1日至01年6月30日)  已知两个向量:  A=[';,';,……,';]  B=[3,5,……]  要求做随日期变化的B向量折线图.  matlab简介:MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
plot命令之后edit figure property 在下面的输入框中输入,或者输入命令xlable('')
直接写上日期,如x=[01 ];y=[1 2 3 4 5];plot(x,y)
为您推荐:
其他类似问题
matlab的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。只需一步,快速开始
扫一扫,访问微社区
查看: 14696|回复: 7|关注: 0
matlab处理向量中元素的插入
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
现有一个包含300个元素的向量,我想在固定的位置比如说第100,108或者120的位置处各插入一个新的元素值,然后向量中其他的元素集体向后移动一个位置,最终构成包含303个元素的向量,如何实现呢。
或者简单举个例子就是a=【1 2 3 4】,想在2和3之间插入一个5,构成新的向量【1 2 5 3 4】,求实现方法。
<h1 style="color:# 麦片财富积分
a = [1 3 5 7 11 13];
b=9; %插入的数
n=5; %插入的位置
aa(1,n)=b; 插入数
aa(1,1:n-1)=a(1,1:n-1); 前面不变
aa(1,n+1:length(a)+1)=a(1,n:length(a)); 后面的数后移一位
<h1 style="color:# 麦片财富积分
不知道有没有函数可以直接实现
论坛优秀回答者
<h1 style="color:#83 麦片财富积分
关注者: 129
设a为要插入的数组,b为待插入的数值,c为a中插入点的位置。
思路:根据c将a切割为cell(因为插入点并不是等距的,所以只能用元胞数组储存),然后将b分别加入元胞数组对应位置,最后将整个cell转换为数组即可。
注意:上述方法适用于单次插入(即,b中数值是一次性根据c来插入的,而不是一个一个插入,否则c的插入点就要次次更新了)
<h1 style="color:# 麦片财富积分
kastin 发表于
设a为要插入的数组,b为待插入的数值,c为a中插入点的位置。
思路:根据c将a切割为cell(因为插入点并不是等 ...
有没有具体实现方法呢??元胞数组这块貌似还挺麻烦的,不太会呀
<h1 style="color:# 麦片财富积分
Quorra 发表于
a = [1 3 5 7 11 13];
b=9; %插入的数
n=5; %插入的位置
谢谢啦,这个方法不错,实现了
论坛优秀回答者
<h1 style="color:#83 麦片财富积分
关注者: 129
刚刚楼主问我cell如何实现。其实对于纯数字数组来说,cell方法并不方便,如果有字符在里面那就比较方便了。
纯数字数组可以用下面的方法更加简单。a=randi(25,1,12)&&% 随机sample
n=3;&&% 插入个数
pos=[9 5 8]; % 插入点的位置,
ins=[0,-1,-7]; % 插入的元素
a_new=zeros(1,length(a)+n);
a_new(pos)=1;
a_new(~a_new)=a;
a_new(pos)=ins复制代码
<h1 style="color:# 麦片财富积分
对于多个元素的插入,请问楼主是如何解决的. 请明示(贴出代码).
站长推荐 /3
筑起功能安全的堡垒 - 基于模型设计的软件开发
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区只需一步,快速开始
扫一扫,访问微社区
查看: 4337|回复: 11|关注: 0
时间向量的比较?
<h1 style="color:# 麦片财富积分
新手, 积分 47, 距离下一级还需 3 积分
关注者: 2
A={'09:15:59' '09:16:59' '09:17:59'}
& & '09:15:59'& & '09:16:59'& & '09:17:59'
&& datenum(A)
& &1.0e+05 *
& & 7.3560
& & 7.3560
& & 7.3560
A={'09:15' '09:16' '09:17'}
& & '09:15'& & '09:16'& & '09:17'
&& datenum(A)
& &1.0e+05 *
& & 7.3560
& & 7.3560
& & 7.3560
timenum0=datenum('15:17:00')
timenum0 =
& &7.3560e+05
&& str=datestr(now,'HH:MM:SS')
&& timenum=datenum(str)
& &7.3560e+05
从这里看到每天的时间向量值似乎都是一样的,如果我需要根据这些向量来区分时间,我应该如何做呢?谢谢!
论坛优秀回答者
帖子最佳答案
关注者: 812
那为什么一定要用 datenum 转换呢,直接用字符串比较不行吗
&& A={'09:15:59' '09:16:59' '09:17:59'}
&& strcmp(A,'09:15:59')
& & '09:15:59'& & '09:16:59'& & '09:17:59'
& &&&1& &&&0& &&&0
<h1 style="color:# 麦片财富积分
关注者: 2
那为什么一定要用 datenum 转换呢,直接用字符串比较不行吗
&& A={'09:15:59' '09:16:59' '09:17:59'}
字符串也可以,我的目的是通过时间的比较找出我要保存的数据
论坛优秀回答者
帖子最佳答案
关注者: 812
字符串也可以,我的目的是通过时间的比较找出我要保存的数据
那按照上面的写法,strcmp 就可以找出相应的时间了
<h1 style="color:# 麦片财富积分
关注者: 2
那按照上面的写法,strcmp 就可以找出相应的时间了
半秒一笔数据,如果是毫秒呢(毫秒这里输出可能不标准,有时候是0和500,有时候是200和700)这里需要通过毫秒来判断最后一笔数据
论坛优秀回答者
帖子最佳答案
关注者: 812
半秒一笔数据,如果是毫秒呢(毫秒这里输出可能不标准,有时候是0和500,有时候是200和700)这里需要通过 ...
那你的 A={'09:15:59' '09:16:59' '09:17:59'} 里怎么没有毫秒
<h1 style="color:# 麦片财富积分
关注者: 2
那你的 A={'09:15:59' '09:16:59' '09:17:59'} 里怎么没有毫秒
A这里的时间是我按分钟排好的,毫秒显示的不标准,所以这里没有写出来,想着额外做一个判断。一秒等于1000毫秒,这里需要加一个判断
<h1 style="color:# 麦片财富积分
关注者: 2
那你的 A={'09:15:59' '09:16:59' '09:17:59'} 里怎么没有毫秒
刘老师A={'09:15:59' '09:16:59' '09:17:59'}括弧中的时间是一个标准时间,但有可能数据输出的时间是非标准时间,如:
:02:01&&如这里09:01:51到了51秒的时候没有数据了,此时的下一个数据是09:02:01
此时,我以中括号里的时间为标准时,寻找最接近的一个时间,有办法实现吗(时间只能小于等于'09:15:59' ,不能大于)?
<h1 style="color:# 麦片财富积分
关注者: 2
本帖最后由 lg23 于
14:56 编辑
那你的 A={'09:15:59' '09:16:59' '09:17:59'} 里怎么没有毫秒
OpenPricel = varargin{8}
HighestPrice = varargin{9}
LowestPrice = varargin{10}
LastPrice = varargin{11}
OpenInterest = varargin{12}
Volume = varargin{13}
UpdateTime = strcat(num2str(varargin{18}),':',num2str(varargin{19}));%上面参数返回的数据与这里的时间是同时返回的,这里的返回时间连同上面返回的数据,半秒输出一次。
假定我设定一个时间模版:A={' 09:15:00:000 - 09:15:59:800' '09:16:00:000-09:16:59:800' }(这里的格式可能不正确,只是举例说明一个时间区间)
' 09:15:00:000(下限) - 09:15:59:800(上限)'
参数返回的数据,以 A 里的时间间隔来做区分,保存‘09:15:59:800'和’09:16:59:800' 同这个时间最接近的数据,(例子:上限时间只能小于等于'09:15:59:800')
<h1 style="color:# 麦片财富积分
关注者: 2
本帖最后由 lg23 于
15:31 编辑
那为什么一定要用 datenum 转换呢,直接用字符串比较不行吗
&& A={'09:15:59' '09:16:59' '09:17:59'}
刘老师:varargin{18}输出的数据格式是09:00:00,而A={'09:15' '09:16' '09:17'}
如果。strcmp(A,varargin{18})做比较,此时varargin{18}输出的秒有方法删除掉吗?& &
刘老师,这里我用正则表达解决了删除秒的问题& & strcmp(A',regexprep(varargin{18},'(.+:)(.+)(:.+)','$1$2'));
另外:A和varargin{18})(秒被删除后)匹配为真时,数据不断被更新输出保存(覆盖同一周期内的历史数据);当下一个时间被匹配时,换行输出数据并保存(同一周期内的数据被覆盖);如果没有时间被匹配则不输出保存,不知道有没有什么方法可以实现我的要求。
例如:当09:15被匹配时09:15:00-09:15:59之间发生的数据保存在同一行(数据不断被新数据覆盖);当下一个时间被匹配时,如:09:16被匹配,09:16:00-09:16:59之间发生的数据保存在同一行(这一周期内的数据不断被覆盖保存)
时间& && && && &数据& && && && &数据& && && && &&&数据& && && && && &数据& && && && && && & 数据& && && && && && && && && && & 数据& && && &&&位置备注
09:15& && &第一笔& && &&&最后一笔& && & 最后一笔& && &&&最后一笔& && & 求和(第一笔到最后一笔)& && &最后一笔& && && &&&A{1}
09:16& && &第一笔& && &&&最后一笔& && & 最后一笔& && &&&最后一笔& && & 求和(第一笔到最后一笔)& && &最后一笔& && && &&&A{2}
请求大侠指点!
K = strcmp(A',regexprep(varargin{18},'(.+:)(.+)(:.+)','$1$2'));
& & if find(K ==1)
& & savebyid(IF01(1:9),'IF1403.txt');
savebyid 函数如下 :
function savebyid(data,filename)
& && &&&fied = fopen(filename,'at++');& && &&&%创建文件,以便写入数据
& && &&&data = strcat(data{1},',',data{2},',',data{3},',',data{4},',',data{5},...
& && && && &',',data{6},',',data{7},',',data{8},',',data{9});& && && && && & %字符串合并
& && &&&fprintf(fied,'%s\n',data);& && && &&&%将数据写入到fied创建的文件中
& && &&&fclose(fied);
目前数据输出保存正常,但没有实现周期的切换(一分钟内的数据只保存在这一分钟范围内)
IF-21,10:25,77.4,27,11298
IF-21,10:25,77.4,28,11298
IF-21,10:25,77.4,,11297
IF-21,10:25,2081,,,11299& && &&&红色字体就是我想在这一分钟最后保存的数据
IF-21,10:26,77.4,,11303
IF-21,10:26,77.4,65,11314
IF-21,10:26,77.4,71,11316
IF-21,10:26,77.4,76,11311
站长推荐 /3
筑起功能安全的堡垒 - 基于模型设计的软件开发
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区在matlab中如何向一维向量里添加元素_百度知道
在matlab中如何向一维向量里添加元素
比如x里有5个元素,我想给这个向量里加一个元素,就这样赋值x(6)=。。。,但是前5个元素都被置0.怎么办?请指教。
我有更好的答案
  添加元素的方法如下:  d(p(1)+1:numel(d)+1) = d(p(1):end);  d(p(1)) = 0;  subscript=find(a); subscript=subscript(1);
在校本科生
&& x=[1 2 3 4 5 ];&& y=6;&& x=[x y] x=
6 生成大矩阵
本回答被提问者和网友采纳
你那样赋值不会导致原来的数倍置0 的,
虽然也有别的方法,但是一楼的已经是最简洁的了……
其他1条回答
为您推荐:
其他类似问题
向量的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 matlab m文件输入向量 的文章

 

随机推荐