我想在MATLAB中调用以下bash命令:
grep "Up to" ~/test_linux/vision1.1/log | awk '{print $7}'
Run Code Online (Sandbox Code Playgroud)
我system()在MATLAB中使用,但结果却有错误:
>> [status string]=system('grep "Up to" ~/test_linux/vision1.1/log | awk '{print $7}' ');
??? [status string]=system('grep "Up to" ~/test_linux/vision1.1/log | awk '{print $7}' ');
Error: Unbalanced or unexpected parenthesis or bracket.
Run Code Online (Sandbox Code Playgroud)
我是否需要在bash命令中将某些特殊字符作为字符串在MATLAB中转义?
我有一个函数sumsurface,我在下面的代码中使用它来在命令窗口中显示某些值:
if sumsurface(i) < .01 && sumsurface(i) > -.01
disp(sumsurface(i));
disp(pH(i));
end
Run Code Online (Sandbox Code Playgroud)
但是,我反而要显示sumsurface(i)和pH(i)对GUI的显示窗口.我怎样才能做到这一点?
我在MATLAB两个矩阵让说arr1和arr2尺寸1000*1000的每一个.我想比较它们的元素并将结果保存在resarr1000*1000 的结果矩阵中,以便每个元素:
arr1大于in arr2,则将值1放在结果中arr2更大,则存储值2但是我不想用for循环来做这个,因为那个更慢.我怎样才能做到这一点?
编辑:
另外,如果我想不同的RGB值存储在一个1000×1000×3矩阵的结果,取决于比较arr1和arr2,可以在不慢的循环来实现?
例如,store(255,0,0)if arr1更大,(0,255,0)if arr2更大
我有两个数据阵列,我正试图合并.一个包含来自第一列实验的实际延迟(例如0.345,0.455 ...从不超过3个小数位),以及该实验的其他数据.另一个包含有效的"查找"延迟列表,范围从0.001到0.500,以0.001为增量,以及其他数据.两个数据集都是X-by-Y双精度数.
我想做的是......
for i = 1:length(actual_latency)
row = find(predicted_data(:,1) == actual_latency(i))
full_set(i,1:4) = [actual_latency(i) other_info(i) predicted_info(row,2) ...
predicted_info(row,3)];
end
Run Code Online (Sandbox Code Playgroud)
...为了找到predicted_data查找延迟对应于实际延迟的相关行.然后我用它来创建一个合并的数据集full_set.
我想这将是非常简单的,但查找功能一直被扔了寻找一个实际的等待时间,我当空矩阵未能知道是predicted_data(:,1)(因为我已经双重检查调试期间).
此外,如果我用for循环替换find来做同样的工作,我会得到类似的错误.它似乎不是系统性的 - 使用不同的参与者数据集会在不同的地方引发它.
此外,在调试模式下,如果我使用find来尝试查找硬编码值actual_latency,它并不总是有效.有时是,有时没有.
我真的对此感到头疼,所以如果有人对可能发生的事情有任何想法,我会非常感激.
给出以下示例:
>> I=[2 1 3;3 2 4]
I =
2 1 3
3 2 4
>> I(:)
ans =
2
3
1
2
3
4
>> I(1:2)
ans =
2 3
Run Code Online (Sandbox Code Playgroud)
为什么I(:)在I(1:2)返回较短的行向量时返回列向量?
我有一个矩阵,我想找到一个在row1 == x中有项的列,在row2 == y中的item; 最快的方法是什么?谢谢,CP
我在MATLAB中执行以下操作,它运行良好.但是我需要计算20个正弦曲线而不是3个,然后将它们全部绘制出来.
x=sin(1*w*t)*(2/(pi*1));
y=sin(3*w*t)*(2/(pi*3));
z=sin(6*w*t)*(2/(pi*6));
plot(t,x,t,y,t,z)
Run Code Online (Sandbox Code Playgroud)
我认为应该可以制作一个for循环,然后绘制,但我不确定这是怎么做的,需要一些帮助.
我'12hjb42&34ni3&(*&'在MATLAB中有一串这样的字符.
我想通过正则表达式或其他更简单的方法将数字和字母以及其他所有内容分开.我怎样才能做到这一点?
我有一个字符串的两个单元阵列A,并B分别持有60个400主题名称.单元阵列A中的所有主体也在单元阵列中B.我想要做的是A从单元格数组中删除单元格数组中列出的主题,B以达到单元格数组C,该数组仅包含我想要使用的主题.
我有一个[500x500]的矩阵.我有另一个[2x100]矩阵,它包含可能在第一个矩阵内的坐标对.我希望能够将第一个矩阵的所有值更改为零,而不需要循环.
mtx = magic(500);
co_ords = [30,50,70; 30,50,70];
mtx(co_ords) = 0;
Run Code Online (Sandbox Code Playgroud)