精华内容
下载资源
问答
  • 进行红外仿真必经环节,通过它可以算出黑体相应温度的辐射出射度
  • 公式计算,最开始采用前端输入公式,进行识别计算,引入了guggy.js。但是这个js可参考的代码太少了,官方文档也很简单,用vue导入后实现不了对div的初始化赋值。后面发现了matlab提供jar包,可以引用之后,调外部的...

    最近负责某大学的一个实验数据分析系统,涉及到正太分布、物理公式计算。公式展示网上有许多uedior+ 公式插件。公式计算,最开始采用前端输入公式,进行识别计算,引入了guggy.js。但是这个js可参考的代码太少了,官方文档也很简单,用vue导入后实现不了对div的初始化赋值。后面发现了matlab提供jar包,可以引用之后,调外部的matlab引擎计算。

    注意事项:1、需要安装的matlab试用版,并根据官方文档,引入了最新的jar,因非maven管理的jar需要按照以下《springboot添加外部jar包及打包》地址配置。2、使用StringWriter流去获取处理值、错误值。

    官网链接:https://ww2.mathworks.cn/help/matlab/matlab-engine-api-for-java.html (也是看了好久的文档,才发现这个JavaAPI文档)

    public static void main(String[] args) {
        try {
            Future<MatlabEngine> engFuture = MatlabEngine.startMatlabAsync();
            MatlabEngine engine = engFuture.get();
            File file = new File("D:"+File.separator+"Test.txt");
            if (!file.getParentFile().exists()) {
                file.getParentFile().mkdirs();
                file.createNewFile();
            }
            Writer writer = new FileWriter(file);
            Future<Void> future = engine.evalAsync(
                    "qs=758*145.0377\n" +
                            "temp=356\n" +
                            "Ktemp=0.9\n" +
                            "Fk=75\n" +
                            "KFk=1-((1-Ktemp)*(Fk-75)/(temp-75))\n" +
                            "D=89.18/25.4\n" +
                            "t=7.26/25.4\n" +
                            "Ap=3.14159*(D-t)*t\n" +
                            "Ai=3.14159*(D/2-t)^2\n" +
                            "tm=6.973/25.4\n" +
                            "Ki=(D^2+(D-2*tm)^2)/(D^2-(D-2*tm)^2)\n" +
                            "Ti=0.80 \n" +
                            "Ni=0.90 \n" +
                            "qa=Ti*qs*KFk\n" +
                            "qv=Ni*qs*KFk\n" +
                            "Pin1=1/2/(1+Ki+Ki^2)*(-qa+qa*Ki+(-3*qa^2-6*qa^2*Ki-3*qa^2*Ki^2+4*qv^2+4*Ki*qv^2+4*Ki^2*qv^2)^(1/2))\n" +
                            "Pin=Pin1\n" +
                            "Pinm=Pin/145.0377\n" +
                            "Faz=qa*Ap/1000\n" +
                            "Fazk=Faz*4.4497\n" +
                            "Fae=Ai*Pin/1000\n" +
                            "Faek=Fae*4.4497\n" +
                            "Faj=Faz-Fae\n" +
                            "Fajk=Faj*4.4497", writer, writer);
            Scanner scan = new Scanner(new FileInputStream(file));
            while (scan.hasNextLine()) {
                System.out.println(scan.nextLine());
            }
        } catch (ExecutionException | InterruptedException |IOException  e) {
            e.printStackTrace();
        }
    }

     

    因为异步不能得到及时返回值,需要调本地的matlab其实很慢,最后实现同步调用。

    @Override
    public Result calculate(String id) {
        final Formula formula = repository.findById(id).orElse(null);
        if (formula != null) {
            if (StringUtils.isNotBlank(formula.getContent())) {
                try {
                    MatlabEngine engine = MatlabEngine.startMatlab();
                    StringWriter writer = new StringWriter();
                    engine.eval(formula.getContent(), writer, writer);
                    System.out.println("1String" + writer.toString());
                    String sb = writer.toString();
                    writer.close();
                    return Result.ok().putData(sb);
                } catch (InterruptedException | ExecutionException | IOException e) {
                    e.printStackTrace();
                    return Result.error("计算失败请确认content公式参数内容正确");
                }
            }
        }
        return Result.error("计算失败请确认content公式参数内容正确");
    }

     

     

    展开全文
  • 一、概述动力总成悬置系统主要有两个作用:一是固定和支撑动力总成,限制动力总成在各种工况下...动力总成悬置系统的刚体模态频率和能量解耦分析,行业内的主流计算方法分两种:一是用MATLAB编程进行分析计算,二是...

    afbbf94d5026a448e474e65b330ac26c.png

    一、概述

    动力总成悬置系统主要有两个作用:一是固定和支撑动力总成,限制动力总成在各种工况下的位移量,防止与其它部件碰撞;二是隔振作用,将动力总成的振动尽可能少的传递到车身。悬置系统隔振性能的核心就是解决刚体模态的频率分配和振动耦合问题,简言之就是关注动力总成的刚体模态和解耦率。

    动力总成悬置系统的刚体模态频率和能量解耦分析,行业内的主流计算方法分两种:一是用MATLAB编程进行分析计算,二是用Adams/Vibration模块进行分析计算。一般地,两者的刚体模态频率计算结果差异不大,但能量解耦计算结果存在明显差异。本文比较两种计算方法的计算结果,并对两者计算结果的关系进行验证说明。

    二、模型准备

    以某动力总成的五点悬置系统为例,其具体参数如表1-3所示。其中本文直接给出在整车坐标系下合成后的动力总成质心和惯量,悬置刚度的动静比为1.5

    1 动力总成相关参数

    动力

    总成

    质量(kg)

    902

    质心(mm)

    X

    Y

    Z

    21.72

    -2.35

    262.034

    惯量 (kg·mm2)

    Ixx

    Iyy

    Izz

    Ixy

    Izx

    Iyz

    38.616

    281.951

    264.322

    -1.478

    -39.053

    0.279

    2 悬置位置

    X(mm)

    Y(mm)

    Z(mm)

    前悬置()

    -590

    -301

    177

    后悬置()

    545

    -324

    195

    辅助悬置

    326

    0

    350

     3 悬置静刚度

    X(N/mm)

    Y(N/mm)

    Z(N/mm)

    前悬置

    1000

    500

    700

    后悬置

    1000

    1000

    980

    辅助悬置

    0

    0

    140

    三、计算分析

    MATLAB编程:

    不考虑悬置系统阻尼,根据拉格朗日方程可得动力总成悬置系统的振动微分方程为:

    cba6ccd9d0da811768d01ae53e251243.png

    其中,MK分别为质量矩阵和刚度矩阵,q为广义坐标矢量矩阵。

    多自由度振动系统作第n阶主振动的总模态能量为:

    6e165ff73f19e4ec2b84392c55b1f497.png

    其中,ωnXn分别为系统的固有频率与对应主振型向量。

    振动系统任一主振动在3个平动方向的能量为:

    6ba4577d77d27c8eefe6770588d5a022.png

    3个转动方向的能量为:

    6beef87db41978515d55a679c81c536e.png

    因此,各个方向的能量在总能量中的能量分布为:

    0c5077219c443b8119854fa4e82b3cfe.png

    根据上述计算公式利用MATLAB编程计算刚体模态频率和解耦率的计算结果如表4所示。

    4 MATLAB编程刚体模态频率和解耦率计算结果

    X

    Y

    Z

    Rx

    Ry

    Rz

    频率(Hz)

    12.63

    10.11

    11.25

    21.33

    14.02

    13.94

    X

    50.28

    0.00

    11.05

    0.00

    38.60

    0.06

    Y

    0.04

    73.72

    0.00

    0.63

    0.00

    25.61

    Z

    39.08

    0.00

    49.55

    0.01

    11.36

    0.00

    Rx

    0.01

    7.86

    0.00

    82.10

    0.01

    10.02

    Ry

    10.58

    0.00

    39.40

    003

    49.99

    0.00

    Rz

    0.01

    18.40

    0.00

    17.24

    0.04

    64.30

     Adams/Vibration模块:

    Adams/View模块中搭建动力总成悬置系统模型如图1所示。

    41d6393b0594bd8208e25c79a9753d52.png

                              1 动力总成悬置系统模型

    利用Adams/Vibration模块Vibration->Test->VibrationAnalysis进行求解。应注意直接在Vibration->Review->Display Modal Info Table页面看到的解耦率未显示负能量分布,会出现所有方向的能量分布之和不等于100%的情况,如图2所示。此时应该在Adams/View的工作路径下的“.txt”文件里查看完整能量分布结果,如图3所示。

    cbfa9f2f9ec8be3a391809af5b2856e7.png

          图2 6阶模态所有方向的能量分布之和不等于100%

    6aeb908d8458dfa2c4e16b4cdf13f0ea.png

               图3 6阶模态在.txt文件的完整能量分布

    利用Adams/Vibration模块求解的刚体模态频率和解耦率的完整计算结果如表5所示。

    5 Adams/Vibration模块刚体模态频率和解耦率计算结果

    X

    Y

    Z

    Rx

    Ry

    Rz

    频率(Hz)

    12.63

    10.11

    11.25

    21.33

    14.01

    13.94

    X

    50.38

    0.00

    10.96

    0.00

    38.59

    0.07

    Y

    0.04

    73.66

    0.00

    0.63

    0.00

    25.66

    Z

    38.95

    0.00

    49.61

    0.01

    11.42

    0.00

    Rx

    0.01

    4.65

    0.00

    108.78

    0.01

    4.06

    Ry

    10.61

    0.00

    39.43

    0.07

    49.92

    0.00

    Rz

    0.01

    15.18

    0.00

    43.90

    0.05

    58.34

    Rxy

    0.01

    0.00

    0.00

    -0.08

    0.02

    0.00

    Rxz

    0.00

    6.49

    0.00

    -53.31

    -0.02

    11.87

    Ryz

    0.00

    0.00

    0.00

    0.00

    0.00

    0.00

    对比表4和表5的计算结果,两者的刚体模态频率差异很小;RxRyRz方向的解耦率差异较大,其原因是MATLAB编程求解获得的是66能量分布矩阵,而Adams仿真获得的是69能量分布矩阵。

    四、关系验证

    MATLAB编程计算中振动系统的总模态能量包含6个方向的分量,而Adams中计算的总模态能量包含9个分量,其中3个平动方向的能量一致:

    b0a97b6df8dbbb523fb95a1e8f774dfc.png

    Adams中对转动惯量和惯性积在各方向的能量的贡献度进行单独考虑,其它6个能量分量分别为:

    2feb1025959a22d937d0a442d2808729.png

    因此,对比两者在能量分量上计算方法的区别,将表5中的计算结果RxRyRz方向的解耦率按如下公式转换,即可将Adams仿真获得的是69能量分布矩阵转换为66能量分布矩阵,转换结果如表6所示。

    Rx= Rx + 0.5×Rxy + 0.5×Rxz

    Ry= Ry + 0.5×Rxy + 0.5×Ryz

    Rz= Rz + 0.5×Rxz + 0.5×Ryz

    6 Adams/Vibration模块计算结果的转换结果

    X

    Y

    Z

    Rx

    Ry

    Rz

    频率(Hz)

    13.53

    9.97

    12.05

    21.16

    11.16

    13.92

    X

    50.38

    0.00

    10.96

    0.00

    38.59

    0.07

    Y

    0.04

    73.66

    0.00

    0.63

    0.00

    25.66

    Z

    38.95

    0.00

    49.61

    0.01

    11.42

    0.00

    Rx

    0.02

    7.90

    0.00

    82.09

    0.01

    10.00

    Ry

    10.62

    0.00

    39.43

    0.03

    49.93

    0.00

    Rz

    0.01

    18.43

    0.00

    17.25

    0.04

    64.28

    对比表4和表6的计算结果,转换后两者的解耦率差异也很小。

    五、结论

    1、两种计算方法的刚体模态频率计算结果差异不大。

    2、由于MATLAB编程所求解的解耦率是基于自由度能量法得到的能量分布矩阵,即66能量分布矩阵;而Adams/Vibration模块仿真的解耦率是基于惯性参数的能量分布矩阵,即69能量分布矩阵。因此,两种计算方法的能量解耦计算结果存在明显差异;但当动力总成的IxyIzxIyz惯量为0时,两者的计算结果差异也不大。

    3、两种计算方法的能量解耦率可以相互转换,转换后差异不大。

    展开全文
  • 用Python代替MATLAB进行科学计算(一)

    千次阅读 2020-04-10 19:04:51
    用Python代替MATLAB进行科学计算(一) 本期带来的是,我们平时在运算过程中,遇到的求导,积分,解方程组等科学计算如何在Python中进行解决 首先我们需要有提前安装库sympy,安装的话也就是 pip install sympy 接...

    用Python代替MATLAB进行科学计算(一)

    本期带来的是,我们平时在运算过程中,遇到的求导,积分,解方程组等科学计算如何在Python中进行解决

    首先我们需要有提前安装库sympy,安装的话也就是

    pip install sympy
    

    接下来就是直接上代码展示:

    展示公式的输出

    #!  conda env
    # -*- coding:utf-8 -*-
    # Time:2020/4/10 5:15 下午
    # Author : nishizzma
    # File : output.py
    
    from sympy import pprint,Symbol,exp,sqrt
    from sympy import init_printing
    
    init_printing(use_unicode=True)
    
    x = Symbol('x')
    
    a = sqrt(2)
    pprint(a)
    
    print("-----------------")
    
    c = (exp(x) ** 2)/2
    pprint(c)
    print(c)
    

    简单运算

    #!  conda env
    # -*- coding:utf-8 -*-
    # Time:2020/4/10 5:10 下午
    # Author : nishizzma
    # File : test_1.py
    
    import sympy,math
    
    #简单对有理数进行运算
    r1 = sympy.Rational(1/10)
    r2 = sympy.Rational(1/10)
    r3 = sympy.Rational(1/10)
    
    val = (1/10+1/10+1/10) * 3
    print(val)
    
    val2 = (r1 + r2+ r3) * 3
    print(val2.evalf())
    
    #求对数
    sympy.log(sympy.E)
    
    sympy.log(sympy.E**3)
    #以10为底求对数
    sympy.log(1000,10)
    
    #求n次方根
    sympy.sqrt(4)  #求平方根
    sympy.root(8,3)
    
    #求k次方
    a = 2 ** 3
    b = 16 ** (0.5)
    
    #求阶乘
    sympy.factorial(4)
    
    #求三角函数
    sympy.sin(sympy.pi)
    
    #表示表达式的方法
    x = sympy.Symbol('x')
    fx = 2*x + 1
    
    c = fx.evalf(subs={x:2})
    print(c)
    
    #支持多元表达
    x,y = sympy.symbols('x y')
    f = 2 * x + y
    
    #以字典的形式传入多个变量的值
    f.evalf(subs={x:1,y:2})
    #如果只传入一个值,则输出原来的表达式
    f.evalf(subs={x:1})
    
    

    解方程组:

    #!  conda env
    # -*- coding:utf-8 -*-
    # Time:2020/4/10 5:47 下午
    # Author : nishizzma
    # File : test_3.py
    """
    解方程组
    """
    
    import sympy
    x = sympy.Symbol('x')
    
    #解简单方程
    #解 x - 1 = 0
    sympy.solve(x-1,x)
    
    #解方程 x^2 - 1 = 0
    sympy.solve(x ** 2 - 1,x)
    #在这种情况下,我们还可以将函数式赋给一个变量
    f = x + 1
    sympy.solve(f,x)
    
    #解多元方程组
    x,y = sympy.symbols('x y')
    sympy.solve([[x+y-1,x-y-3],[x,y]])
    
    #计算求和式,求和1-100,然后在*2
    n = sympy.Symbol('n')
    sympy.summation(2*n,(n,1,100))
    
    #对于包含求和式子的方程进行求解
    x = sympy.Symbol('x')
    i = sympy.Symbol('i',integer=True)
    f = sympy.summation(x,(i,1,5)) + 10 * x - 15
    sympy.solve(f,x)
    

    求解极限

    #!  conda env
    # -*- coding:utf-8 -*-
    # Time:2020/4/10 6:02 下午
    # Author : nishizzma
    # File : test_4.py
    
    """
    极限求解
    """
    import  sympy
    x = sympy.Symbol('x')
    f1 = sympy.sin(x)/x
    
    #当x->0时的结果
    sympy.limit(f1,x,0)
    
    f2 = (1+x)**(1/x)
    sympy.limit(f2,x,0)
    
    f3 = (1+1/x)**x
    sympy.limit(f3,x,float('inf'))
    

    求导,求定积分:

    #!  conda env
    # -*- coding:utf-8 -*-
    # Time:2020/4/10 6:47 下午
    # Author : nishizzma
    # File : test_5.py
    
    """
    求导,求定积分
    """
    
    import sympy
    
    #求导
    x = sympy.Symbol('x')
    f = x**2 + 2*x + 1
    sympy.diff(f,x)
    
    #求定积分,对2x在0-1上进行求导
    f = 2 * x
    sympy.integrate(f,(x,0,1))
    
    #计算多重积分
    t,x = sympy.symbols('t x')
    f = 2 * t
    g = sympy.integrate(f,(t,0,x))
    sympy.integrate(g,(x,0,3))
    
    #求解不定积分
    x = sympy.Symbol('x')
    f = sympy.E ** x + 2*x
    sympy.integrate(f,x)
    
    展开全文
  • matlab编程实现allan方差公式计算

    热门讨论 2013-02-28 22:25:04
    根据光纤陀螺仪输出的数据,利用allan方差计算公式进行处理运算,利用matlab进行编程
  • 然后我想先利用4个点作出拟合曲线,再将曲线分成100个离散点,利用复化simpson进行积分函数的计算分量Vi,再讲所有值进行求和得出V。 这是自己写的,发现求出的值不对,在这里求助大神进行解答。 ``` >> clear ...
  • 【强烈推荐】我们用Matlab做一个软件,除了可以用GUI之外,还可以用APP设计工具。关于app设计工具的学习,可以看这个视频。https://www.bilibili.com/video/av80060904?p=2【江江走过的一些弯路:一开始不知道可以用...

    【强烈推荐】我们用Matlab做一个软件,除了可以用GUI之外,还可以用APP设计工具。关于app设计工具的学习,可以看这个视频。

    https://www.bilibili.com/video/av80060904?p=2

    【江江走过的一些弯路:一开始不知道可以用APP设计工具进行设计,用GUIDE做,虽然理论上也可以做出来,但效率更低,不如直接用APP设计工具进行设计。】

    【后来的少年们,至少、至少,希望你能少走一些弯路,愿桥都坚固,隧道都光明。】

    https://www.bilibili.com/video/av80060904?p=2

    1b2076a325a89981844a35609aedb3d8.png

    【课程推荐】《科学计算与MATLAB语言》

    课程链接:https://www.icourse163.org/course/CSU-1002475002

    ef8b62573fb6e2868594e5b254d9da2f.png

    32f4b5e33e68faec394173a86d2dcc8d.png

    课程详情

    当前,科学计算已经成为科学研究、技术创新的重要方法与手段,而作为实现工具的科学计算软件无疑具有至关重要的作用。MATLAB为众多领域的计算问题提供了全面的解决方案,代表了当今国际科学计算软件的先进水平,被誉为巨人肩膀上的工具。通过本课程的学习,我们将能站在巨人的肩膀上领略各种计算之美。

    —— 课程团队

    课程概述

    在有色金属、交通运输、化学化工、航空航天、金融工程、生物医学等许多领域,经常会遇到各种各样的计算问题。例如,求解具有几十个变量的线性或非线性方程组、求解复杂的微分方程,这些问题高度复杂,计算量很大,往往没有办法求得理论解。随着计算机技术的发展,人们可以有效地解决这类问题,由此诞生了一门新兴交叉学科—科学计算,它成为继理论研究和科学实验之后的第三种科学研究方法。
    科学计算是研究工程技术问题以及其他应用问题的近似求解方法,并在计算机上进行编程实现的一门课程,它既有数学理论上的抽象性和严谨性,又有程序设计技术上的实用性和实践性。20世纪80年代以来,MATLAB等科学计算软件的产生,使得科学计算问题的实现变得十分方便、高效。
    MATLAB代表了当今国际科学计算软件的先进水平,它将数值计算、符号计算、图形处理、系统仿真和程序流程控制等功能集成在统一的系统环境中,已发展成为适合多学科、广泛应用于科学研究和工程技术领域的程序设计语言。使用MATLAB作为计算工具,人们不需关注各种数值计算方法的具体细节和计算公式,也不需要繁琐的底层编程,从而可以专注于实际问题的分析和设计,大大提高工作效率和质量,为科学研究与工程应用提供重要手段。在高等学校,MATLAB已经成为许多课程的基本计算工具,颇受广大大学生、研究生的青睐。
    本课程主要介绍科学计算问题的MATLAB实现方法,包括MATLAB基础知识、MATLAB矩阵处理、MATLAB程序流程控制、MATLAB绘图、数据分析与多项式计算、数值微积分与方程求解、MATLAB符号计算、MATLAB图形用户界面设计、Simulink系统仿真和外部程序接口共10个学习专题。
    授课目标在学完本课程后,希望大家能理解MATLAB功能实现的数学背景与算法原理,掌握利用MATLAB进行问题求解的基本规律,能够使用MATLAB作为专业应用的工具,能从繁杂的计算事务中解放出来,促进计算机和专业应用的结合,促进计算机应用水平的提高和对专业知识的掌握。

    课程大纲

    专题〇 初识MATLAB

    了解MATLAB语言的特点以及课程学习目标和主要内容。

    课时

    课程导入

    专题一 MATLAB基础知识

    熟悉MATLAB系统环境;掌握MATLAB中数据的表示方法以及建立与引用矩阵的方法。

    课时

    1.1 MATLAB系统环境

    1.2 MATLAB数值数据

    1.3 变量及其操作

    1.4 MATLAB矩阵的表示

    1.5 矩阵元素的引用

    1.6 MATLAB基本运算

    1.7 字符串处理

    专题二 MATLAB矩阵处理

    理解常用特殊矩阵的概念和创建方法;掌握矩阵变换与求值、矩阵的特征值与特征向量、稀疏矩阵等处理方法。

    课时

    2.1 特殊矩阵

    2.2 矩阵变换

    2.3 矩阵求值

    2.4 矩阵的特征值与特征向量

    2.5 稀疏矩阵

    专题三 MATLAB程序流程控制

    掌握顺序结构、选择结构、循环结构等三种基本控制结构的实现方法以及函数的定义与使用方法。

    课时

    3.1 顺序结构程序

    3.2 用if语句实现选择结构

    3.3 用switch语句实现选择结构

    3.4 用for语句实现循环结构

    3.5 用while语句实现循环结构

    3.6 函数文件的定义与调用

    3.7 函数的递归调用

    3.8 函数参数与变量的作用域

    专题四 MATLAB绘图

    熟练掌握plot/plot3、mesh/surf基本绘图函数的用法;掌握其他函数的用法。

    课时

    4.1 二维曲线

    4.2 绘制图形的辅助操作

    4.3 其他形式的二维曲线

    4.4 三维曲线

    4.5 三维曲面

    4.6 图形修饰处理

    4.7 交互式绘图工具

    专题五 数据分析与多项式计算

    掌握数据统计分析、多项式计算的方法;理解数据插值和曲线拟合的数学思想并掌握其实现方法。

    课时

    5.1 数据统计分析

    5.2 多项式计算

    5.3 数据插值

    5.4 数据插值应用举例

    5.5 曲线拟合

    5.6 曲线拟合应用举例

    专题六 数值微积分与方程求解

    掌握数值微积分、线性方程组求解、非线性方程求解与函数极值计算、常微分方程数值求解等问题的实现方法。

    课时

    6.1 数值微分与数值积分

    6.2 线性方程组求解

    6.3 线性方程组应用举例

    6.4 非线性方程求解与函数极值计算

    6.5 常微分方程数值求解

    6.6 常微分方程应用举例

    专题七 MATLAB符号计算

    理解符号计算与数值计算的区别;掌握符号对象的定义及运算方法;掌握微积分、级数、方程求解的符号计算方法。

    课时

    7.1 符号对象

    7.2 符号微积分

    7.3 级数

    7.4 符号方程求解

    专题八 MATLAB图形用户界面设计

    理解图形对象的概念;了解有关界面设计函数的使用方法;了解GUIDE设计工具和APP设计工具的使用方法。

    课时

    8.1 图形窗口与坐标轴

    8.2 曲线与曲面对象

    8.3 图形用户界面设计方法

    8.4 用户界面设计工具

    8.5 APP设计工具

    8.6 图形用户界面应用举例

    专题九 Simulink系统仿真

    掌握Simulink仿真的基本步骤;了解子系统、S函数的使用方法。

    课时

    9.1 Simulink仿真基础

    9.2 子系统的创建与封装

    9.3 S函数的设计与应用

    9.4 Simulink仿真应用举例

    专题十 外部程序接口

    掌握MATLAB与Excel的混合使用方法;了解MATLAB文件操作;了解MATLAB与C++语言的混合使用方法。

    课时

    10.1 在Excel中使用MATLAB

    10.2 MATLAB文件操作

    10.3 在其他语言程序中读写MATLAB的数据文件

    10.4 在MATLAB中调用其他语言编写的程序

    10.5 在其他语言程序中调用MATLAB函数

    常见问题

    Q1:本课程的适用对象有哪些?

    A1:本课程作为高等学校信息技术系列课程,适合理、工、农、医、经济管理等专业本科生和研究生学习。中南大学从2000年开始开设该课程,在历次人才培养方案制定中,很多学院开设了该课程。此外,本课程也适用于广大工程技术人员、科学研究工作者学习参考。

    Q2:MATLAB也算一门程序设计语言吗?

    A2:当然算,因为MATLAB具备程序设计语言的基本特征,能实现程序流程控制。但MATLAB语言又有别于传统意义上的程序设计语言,它出现的初衷是为了做矩阵运算,因此我们更愿意将MATLAB作为一种科学计算软件推荐给大家。MATLAB主要还是在学科应用层面使用,而且具备和学科应用结合的天然优势,所以本课程是助力“新工科”建设的重要课程(但MATLAB的应用范围绝不限于“工科”)。

    Q3:本课程使用什么MATLAB版本?

    A3:本课程使用MATLAB R2016a版本,但不妨碍大家使用别的版本,因为在不同MATLAB版本中大部分功能是一样的。在实际操作中,也要注意不同MATLAB版本的差异,因所使用的版本不同而可能使得有些函数或功能不完全相同,甚至不能使用,这时可以借助于MATLAB的帮助信息来分析不同版本的差异。

    Q4:学习本课程是否需要先学习计算机程序设计?

    A4:没有此要求,但如果具有高等数学、线性代数方面的基本知识对本课程的学习是有帮助的。

    Q5:本课程的教学内容是如何组织的?

    A5:本课程主要从算法实现角度组织课程内容,介绍利用MATLAB语言进行科学计算的方法(其实,我们讲MATLAB的应用,会涉及科学计算,但已远远超过科学计算的范畴)。本课程也介绍算法的基本思想,但和数学上的出发点是不同的,数学上介绍算法的构造、完成公式推导、分析算法性能(证明收敛性、分析误差等),本课程讲计算原理是为了更好地理解MATLAB的实现机理,更好地应用MATLAB解决实际问题,让大家既科学计算,又能科学计算。

    展开全文
  • 问题描述及需求: 我做Y和X的多元回归方程,...进行计算。X的beta(即coefficient)的值及其 t-stats; 我在网上找了很久,但是都没有找到方法,求助大神</p>
  • 假设行表示phi,列表示z,phi取值范围为-180~180(2度一个点),n取值范围为-90~90,z取值范围为-2.5~2.5(0.05一个点),h取值范围为-50~50,那么我根据公式求和运算计算结果和直接进行fft2(Ez)结果相差很大,...
  • 这几天在使用hfss对矩形天线仿真,每次改变频率和实验的材料,都要重新计算一遍,太麻烦了,所以用matlab进行计算。 知道天线的工作频率:f_r 介质板的介电常数:epsilon_r 介质板厚度:h 就可以计算出矩形天线的长...
  • <p><img alt="" height="155" src=...写出第一个公式计算的qr和经过将来时间步迭代后最后一个公式(8b)。 可加联系方式发文献和数据,调试成功有额外红包。</p>
  • Chap.7 MATLAB 的符号计算 7.1 符号变量和符号表达式 前面所做的运算都是针对数值进行的不适用于非数值运算的场合引入符号运 算就能解决这方面的问题就像平时进行数学公式推导一样符号运算允许在运算对 象和运算过程...
  • 彭曼公式计算代码,应用matlab进行计算,主要针对气象数据
  • 我的数学公式包含很多的未知数,现在这些未知数我要进行逐个求偏导来求梯度, 求出梯度的符号公式后,由于matlab中的sub和eval的效率太低,而我的公式太过于复杂,导致运行速度太慢,matlab能不能解决这个问题,或者...
  • Matlab画图插入Latex公式

    千次阅读 2019-09-17 10:19:02
    Latex语言是现在使用最广泛的Tex格式,Tex这种语言具有简单排版和程序设计的功能。...我们使用matlab对数据或模型进行计算处理之后,时常会需要输出结果呈现Latex的格式,或者能方便转换成latex格式方便...
  • 一微积分问题的解析解 ...中心差分方法及其 MATLAB 实现 用插值拟合多项式求导数 二元函数的梯度计算 四数值积分问题 由给定数据进行梯形求积 单变量数值积分问题求解 Gauss求积公式 双重积分问题的数值解 三重定
  • Latex语言是现在使用最广泛的Tex格式,Tex这种语言具有简单排版和程序设计的功能。...b站latex教排版学我们使用matlab对数据或模型进行计算处理之后,时常会需要输出结果呈现Latex的格式,或者能方...
  • MATLAB矩形公式计算 并与精确值进行比较。 >> h=pi/40;x=0:h:pi/2; >> y=exp(sin(x)); >> z1=sum(y(1:20))*h z1 = 3.0364 >> z2=sum(y(2:21))*h z2 = 3.1713 >> syms x >...
  • 证明:1)确定代数精度为3....进一步用 进行检验,计算得 重要结论 例3 用辛普森公式和柯特斯公式计算定积分 的近似值,并估计其误差(计算结果取5位小数) 解: 辛普森公式 由于 由辛普森公式余项 知其...
  • [MATLAB]XXX塔扩展公式DLL与MATLAB交互

    千次阅读 2016-06-16 00:38:02
    任务说明: ...而matlab里面提供了许多的信号,序列等处理方法,可以很方便的进行一些策略,计算等等。 现在需要使用matlab的自定函数(M函数)对金字塔的函数进行扩展。 前期调查: VC与MATLAB交互的几种方
  • 符号计算 符号计算的特点一运算以推理解析的方式进行因此不受计算误差积累问题困扰二符号计算或给出完全正确的封闭解或给出任意精度的数值解当封闭解不存在时三符号计算指令的调用比较简单经典教科书公式相近四计算...
  • Matlab符号计算与方程组求解

    万次阅读 多人点赞 2017-09-12 11:53:31
     1、计算精确:符号计算基于数学公式、定理并通过一系列推理、演绎得到方程的解或者数学表达式的值。对操作对象不进行离散化和近似化处理。  2、可应用范围有限:实际科研和生产中遇到的问题绝大多数都无法获得...
  • 什么是龙贝格积分算法龙贝格(Romberg)积分算法也被称为逐次分半加速算法,通过把积分区间逐次分半的方法进行数值积分求解。由于其采用的是逐次分半计算,后一次计算是对前一次近似结果的修正,因此相对于辛普森和...
  • 最近写一个项目,需要用到Matlab进行公式计算(简单一点) 但部署到服务器后,发现不能启动Matlab,报错。  如果有遇到同样问题的伙伴,可进行这样的操作即可: 修改Matlab的配置文件: ******\MATLAB\R2016a\...
  • 使用已给的两站温度、盐度和压力数据,计算两个站间的...ΔD是动力高度差,借助于海洋调查中的温度、盐度和深度(压力)资料,根据海水状态方程,首先计算海水的密度或比容,进而由公式得出ΔD,再进行地转流的计算
  • 一、数值积分基本公式数值求积基本通用公式如下Eqn1.gif (1.63 KB, 下载次数: 40)2009-11-20 23:23 上传xk:求积节点Ak:求...二、插值型数值积分公式对f(x)给定的n+1个节点进行Lagrange多项式插值,故Eqn2.gif (2....
  • 本博文源于matlab。旨在对出生人口增长率进行计算
  • MATLAB计算信号的过零率

    千次阅读 2020-10-28 10:13:09
    本博文分享计算过零率的公式及其MATLAB代码,代码在参考博文的基础上进行了改进。 过零(ZC)是在时域中定义信号的频率信息的一种度量。

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 364
精华内容 145
关键字:

matlab进行公式计算

matlab 订阅