Matlab 有以下指南来制作 avi 格式的电影。我的目标是能够通过 powerpoint 在我的演示文稿中播放视频。
nFrames = 20;
% Preallocate movie structure.
mov(1:nFrames) = struct('cdata', [],...
'colormap', []);
% Create movie.
Z = peaks; surf(Z);
axis tight
set(gca,'nextplot','replacechildren');
for k = 1:nFrames
surf(sin(2*pi*k/20)*Z,Z)
mov(k) = getframe(gcf);
end
% Create AVI file.
movie2avi(mov, 'myPeaks.avi', 'compression', 'None');
Run Code Online (Sandbox Code Playgroud)
我理解这个例子,我应该没有压缩加载到 PowerPoint 中。但是我不明白如何使用 struct 正确预分配我的内存。
对于给定的数组,我想计算总是留下一个值的产品.例如,对于输入[1, 2, 3, 4]
我想要输出[2*3*4, 1*3*4, 1*2*4, 1*2*3]
,即[24, 12, 8, 6]
.
def array_product(array)
arr_lgth=array.length
array_d=array.dup
sum=[]
itr=0
while itr<(arr_lgth)
p itr
p array
array[itr]=1
sum << array.reduce(1,:*);
array=array_d
itr+=1
end
return sum
end
array_product([1,2,3,4])
Run Code Online (Sandbox Code Playgroud)
当我跟踪迭代和数组时,我得到以下结果,我不明白:
0
[1, 2, 3, 4]
1
[1, 2, 3, 4]
2
[1, 1, 3, 4]
3
[1, 1, 1, 4]
Run Code Online (Sandbox Code Playgroud)
不应该在每个while循环迭代结束时为数组分配重复值吗?
如果我有这样的矩阵:
A=[ 8 3 67 8 2 0 0 0 0 0; 8 76 9 233 1 89 34 0 0 0; 98 23 87 9 3 24 64 45 1 0]
Run Code Online (Sandbox Code Playgroud)
我使用命令sort(A,2)它将在列旁边排序,但同时向前推零.我希望稍后在代码中将0保持到计算目的.
我一直在寻找一个这样做的命令,因为我觉得有一个.我也一直在尝试排序,翻转和转置以获得我想要的东西,但我处于僵局.
我从用户Li-aung Yip 那里拍摄了这张照片,他的回答是:有没有办法在矩阵中多次从一个点到另一个点进行线性最佳拟合,以便去掉一系列,MatLab?
我想知道几个时间序列MatLab如何做到这一点.
最好,阿比德
我正在学习Ruby,目前这是我的练习:
使用任何一对数字,证明整数n是一个完美的力量.如果没有对,则返回nil.
在数学中,完美的幂是一个正整数,可以表示为另一个正整数的整数幂.更正式地说,如果存在自然数m> 1并且k> 1使得mk = n,则n是完美的幂
目前这是我的代码:
def pp(n)
# [m,k] m^k
idx1=2
while idx1 <n
idx2=2
while idx2<n
if idx1**idx2 == n
ans = [idx1,idx2]
break
end
idx2 +=1
end
idx1 +=1
end
return ans
end
Run Code Online (Sandbox Code Playgroud)
我想这样写,对于给定的随机数字,我的repl.it不会超时.
先感谢您!
###Edit###
Run Code Online (Sandbox Code Playgroud)
在Python的上下文中提到了这个问题(如何使完美的幂算法更有效?).尽管我试图理解它并翻译语法,但事实并非如此.我希望提出这个问题也会帮助那些研究Ruby的人,就像它帮助了我一样.