MATLAB:产品的产品,执行时间以毫秒为单位

时间:2016-07-03 10:33:32

标签: matlab matrix time

我有一个实际可行的代码,但输出应该相乘。此外,执行时间不是以毫秒为单位。这是Matlab代码

function product = prod(A) 
tic; 
A=input('matrix A ='); 
[rows, columns] = size(A); 
for i=1:rows
prod=A(i,i)*A(i,end) 
end 
seconds=toc

例如,如果在A=[1,2,3;4,5,6;7,8,9] i=11*3=3 i=2我们2*6=12 i=3我们9*9=81 3*12*81=2916我们matrix A = [2,3,6,4;2,1,7,-2;6,8,1,-3;5,3,4,1] out = -22, -23, -7, -3 Elapsed time is 10.200446 seconds. out = -22*-23*-7*-3 = 10626 }。 我想要的输出应该是import xml.etree.ElementTree as ET parser = ET.XMLParser(encoding="iso-8859-1") parser.parser.UseForeignDTD(True) etree = ET.ElementTree() tree = etree.parse('dblp_140.xml', parser=parser) f = open('hi', 'w') for country in tree.findall('article'): rank = country.find('year').text name = country.find('title') if(int(rank)>2009): f.write(name.text) f.write(':') auth = country.findall('author') for a in auth: print a.text.encode('utf-8') f.write(a.text.encode('utf-8')) f.write(',') f.write('\n') (上述值的乘积),执行时间应该是毫秒。

当我扩展你为下面的代码提供的解决方案时,它不会将它们相乘,并且过去的时间似乎很大

以上代码用于Flask==0.10.1 Flask-Login==0.3.1 Flask-SQLAlchemy==2.0 Jinja2==2.7.3 MarkupSafe==0.23 SQLAlchemy==0.9.8 Werkzeug==0.9.6 argparse==1.2.1 itsdangerous==0.24 rauth==0.7.0 requests==2.4.3

我的输出是

.\venv\Scripts\activate

我希望所有输出相互多个,以便它是

pip install MarkupSafe

1 个答案:

答案 0 :(得分:1)

嗯,我花了一些时间来破译你一直想做的事情,但最后,我能够重建你的输出。首先,不需要prod函数,它只会使事情变得混乱。 这是一个简单的功能,可以解决这个问题:

function out = testValue
A=input('matrix A =');
out=1;
if mod(size(A),2)==0
    for i = 1:length(A)
        out = out*(A(i,i)*A(i,end)-A(i,end-1)*A(end,i));
    end
else
    for i = 1:(length(A)-1)/2
        out = out*(A(i,i)*A(i,end)-A(i,end-1)*A(end,i));
    end
end
end

对上述代码的一些评论:

  1. 无需columns变量
  2. 我省略了tic toc - 您可以根据需要添加它们
  3. prod函数没有用,而prod的输入只是您认为的输出。
  4. 初始化out=1累积产品
  5. 我确信有更聪明的方法可以做到这一点,但正如@beaker写的那样,目前尚不清楚这段代码的目的究竟是什么。

    希望这会有所帮助:)