matlab怎么加载excel表格

Matlab允许我们加载很多其他类型的数据列表,通常大家都用txt文档,这时因为加载速度比较快的缘故,但是当处理海量数据的时候还是用excel表格来的方便,因为表格的编辑会比较容易。

Matlab加载excel表格的命令式xlsread,用法是xlsread(‘文件名’),要求excel表格在工作目录下,不然要用绝对路径来替换文件名。比如加载工作目录下的temp.xlsx文件,命令就是R=xlsread(‘temp.xlsx’),如果这个文件没有在工作目录下,比如在C盘下就需要输入:

R=xlsread('C:\temp.xlsx')

matlab代码求圆周率的简单算法

说起圆周率的算法很多人都会想起一大堆的无穷级数等各种表达式,但是这样的算法需要比较高的数学推理水品,而且对于很多初学者而言很难理解。程序员不能仅仅是机械的写程序,必须要真正的理解程序中每个代码的意义,这样才能像写文章一样写出好程序来,下面介绍一种运算量很大但是却非常简单的圆周率算法。

先问一个问题,圆周率是什么?

可能有人会说是圆周长和直径的比,或者有人说圆面积和半径平方的比。我的一个老师曾经说不要为了复杂而复杂,抓住问题的本质往往是最有效的手段,从圆周率的本质而言,它不是什么无穷级数的收敛值或者某个函数的极限值,它只是我们一个简单的面积比或者长度比。

此外就是,无论怎么计算,圆周率是算不完的,所以必须有无限高的精度才能把圆周率准确的算出来,这样虽然很麻烦却给了我们一个很大的舞台,只要我们这个算法在无限次运算后理论上能得到圆周率精确值就说明算法还是可行的(虽然要考虑效率的问题)

下面说我的算法,以半径1画个圆,然后用一定的步长把圆的外接正方形内部分用点阵的方法扫描出来,这样就可以很轻松的计算每个点是不是在圆内,圆内点的数目和总数目的比就是圆周率的1/4

程序实现起来很简单,下面是matlab的代码(C语言orC++的自己写吧,很简单的)

x=-1:.00003:1;
y=x;
number=0;
number_all=length(x)*length(y);
for i=1:length(x)
    for j=1:length(y)
        if x(i)*x(i)+y(j)*y(j)<1
            number=number+1;
        end
    end
end
pai=4*(number/number_all)

用这个matlab代码的方法算出来的圆周率是3.141560962与3.141592654的公认值还是有比较大的差距的,但是只要提高X的扫描范围就能极大地提高精度,可惜本人的电脑不行,就只能算到这个地步了。