我需要将datenumber转换为最接近的月末日期.我发现了一个在线链接,但对于大型矩阵来说效率非常低(http://www.mathworks.com/matlabcentral/fileexchange/26374-round-off-dates-and-times).Matlab(Financial Toolbox)是否具有内置功能?我找不到它.
date_in = 734421 ;
somefunction(date_in) --> Sept 2010
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有一个单元格数组需要根据特定格式打印在.txt文件中.我已经尝试了一些在线帮助(包括matlab中心,dlmcell但即使这样也没有给我想要的答案.Delimiter是\ t.
cellarray = { ...
'AAPL' '2/20/2011' 100.5
'MSFT' '2/15/2011' 43.4551
} ;
Run Code Online (Sandbox Code Playgroud)
输出应该是.txt文件,格式如下:(使用制表符分隔符)
"AAPL" "2/20/2011" 100.5
"MSFT" "2/15/2011" 43.4551
Run Code Online (Sandbox Code Playgroud)
单元格最少有8000行,最多15000行.没有行会有空列.矢量化解决方案是否可行?应该感谢你的帮助.
我的代码是使用MATLAB设计的,我仍然使用它.但是,如果我尝试使用Octave运行它的某些部分,我会收到错误.例如,MATLAB代码使用的pause on是Octave没有的代码.
有没有办法检查哪个编程环境正在使用代码?例如,
if invoking_env == 'Matlab'
% do this
else
% ok, so do this
end
Run Code Online (Sandbox Code Playgroud)
我可以使用,getenv('COMPUTERNAME')但在这种情况下,计算机名称是相同的!谢谢.
我有一个包含数字和字符串数据的单元格数组.我需要将数字转换为字符串,以便我可以使用该unique()函数.
a = {1; 4; 'lf'}
result --> {'1', '4', 'lf'}; % Now unique() function can be used
Run Code Online (Sandbox Code Playgroud)
有在线解决方案来处理列是数字的情况.但这些不能在这里使用,因为至少有一行有字符串作为数据.应该理解矢量化解决方案.
我使用 SQL Server 2008。
我正在尝试在我的表上创建非聚集索引。我想检查是否存在一种方法可以在不给索引命名的情况下创建它。
例如
CREATE TABLE #mytable (Date_ datetime NOT NULL, ID_ varchar(10) NOT NULL, Value_)
Run Code Online (Sandbox Code Playgroud)
当我向该表添加 PK 时,我没有指定该密钥的名称。例如
ALTER TABLE #mytable ADD PRIMARY KEY CLUSTERED (Date_ ASC, ID_ ASC)
Run Code Online (Sandbox Code Playgroud)
是否可以执行类似的操作来创建非聚集索引而不指定名称?
例如
ALTER TABLE #mytable ADD NONCLUSTERED INDEX (Date_, Value_) -- FAILS!!!
Run Code Online (Sandbox Code Playgroud)
我知道的唯一命令是
CREATE NONCLUSTERED INDEX *keyname* ON #mytable (Date_, Value_)
Run Code Online (Sandbox Code Playgroud) sql-server indexing alter-table clustered-index non-clustered-index
我有一个非常简单的问题 - MATLAB中NULL和空矩阵的区别?
NULL CASE:a = null(1) - > a是1x0矩阵EMPTY CASE:a = [] - > a是0x0矩阵
谢谢!
是否可以在循环内的MATLAB中声明全局变量:
cellvar = { 'ni' ; 'equity' ; 'assets' } ;
for i = 1:size(cellvar,1)
global cellvar{1} % --> THIS GIVES AN ERROR
end
% Desired result:
global ni
global equity
global assets
Run Code Online (Sandbox Code Playgroud)
Matlab文档说:"没有全局命令的函数形式(即,你不能使用括号并引用变量名称)." 任何建议的解决方案?谢谢!
我正在尝试从Windows命令提示符运行Matlab脚本,但有时无法执行。手动启动时,脚本运行良好。Matlab版本是2011a,Windows是Server 2003 SP2。细节:
脚本mytask.m位于say里面E:\Production\Project。这是SAVED在Matlab的道路上。
当我将mytask.m放在bin文件夹中时,它可以通过以下命令正常执行:
`C:\Program Files\MATLAB\R2011a\bin>matlab -r mytask`
Run Code Online (Sandbox Code Playgroud)
如果删除它并尝试在其原始位置访问它,则尽管启动了Matlab编辑器窗口,该脚本也不会运行:
`C:\Program Files\MATLAB\R2011a\bin>matlab -r "E:\Production\Project\mytask"
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?谢谢。
我有两个单元格,第一列是字符串.我目前正在使用ismember匹配两个单元格中的第一列元素.但是成员是区分大小写的.我不能使用strcmpi,因为单元格大小不等.你能建议另一种方法吗?
cell1 = { 'AAPL' [2001] ; 'GOOG' [1999] ; 'MSFT' [2010] } ;
cell2 = { 'AMZN' [2009] ; 'HP' [2011] ; 'CSC' [2005] ; 'Goog' [2010] } ;
Run Code Online (Sandbox Code Playgroud)
不区分大小写的方法:
tf = ismember(cell1(:,1), cell2(:,1)) ; % tf should be now [0; 1; 0]
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有一个包含以下数据的.txt文件:
MSFT 200 100
APPL 10 NULL
AMZN 20 40
Run Code Online (Sandbox Code Playgroud)
我需要使用读取此数据textscan.我在阅读NULL数据时遇到问题.使用treatasemptyparam,我可以把它读成0.但我想把它读成NaN.请帮忙!谢谢!
fName = '.....\sampleF.txt'
[fid, message] = fopen(fName) ;
if fid < 0, disp(message), else
datatxt = textscan(fid, '%q %d %d', 'Delimiter', '\t','treatAsEmpty','NULL');
datatxt = [ datatxt {1} num2cell(datatxt {2}) num2cell(datatxt {3})] ;
fclose(fid) ;
end
%datatxt = { 'MSFT' [200] [100] ; 'AAPL' [10] [NaN] ; 'AMZN' [20] [40] }
Run Code Online (Sandbox Code Playgroud) 我有一个结构存储在我的硬盘上.我需要将其中一个Field加载到局部变量中.一个简单的负载得到了
% 'PRICES' is the stored struct. 1st fieldname is '.Raw'.
% Only '.Raw' needs to be loaded
var = load( fullfile(path, 'PRICES.Mat') ) % Wrong as var becomes a struct containing a struct.
% DESIRED value: var = PRICES.Raw ;
Run Code Online (Sandbox Code Playgroud)
是否可以一步完成?我可以覆盖var并完成这个,但有没有直接的方法呢?谢谢.
我只有一个列whole numbers,我需要11在前面添加一个数字(比如说) -
data = (1:1300000)';
% append 11 to these numbers
newdata = [111 ; 112 ; 113 ; 114 ; ......]
Run Code Online (Sandbox Code Playgroud)
有没有办法不使用str2num(由于速度问题)?谢谢.
我需要从给定日期减去21个月.
我在下面给出的解决方案只需要我到达给定年份的第一个月:(
[a,b,c]= datevec(date);
b= b-21;
datestr(datenum(a,b,c)) %--> 11-Jan-2011 (WRONG).
Run Code Online (Sandbox Code Playgroud)
我希望答案是2009年6月11日.
matlab ×12
date ×2
variables ×2
alter-table ×1
append ×1
batch-file ×1
cell-array ×1
command-line ×1
date-math ×1
digits ×1
dos ×1
environment ×1
file-io ×1
financial ×1
getenv ×1
global ×1
indexing ×1
matlab-load ×1
matrix ×1
nan ×1
null ×1
numbers ×1
octave ×1
printf ×1
sql-server ×1
string ×1
struct ×1
text-files ×1
textscan ×1
tsv ×1