请帮我修改一个matlab程序

发布于 科技 2024-08-03
11个回答
  1. 匿名用户2024-01-31

    你是什么样的程序,为什么k中有一个冒号? 到处都是bug,你有没有仔细看过算法? 什么都不要说。 自己检查结果,对吧?

    clc;clear;

    k=[5 -4 0 0 -2 0 0 0;-4 16 -5 3 -2 0 0 4;0 -5 10 -3 0 -1 3 0;0 3 -3 5 0 0 4 0;-2 -2 0 0 12 -4 0 1;0 0 -1 0 -4 16 -2 0;0 0 3 4 0 -2 12 -1;0 4 0 0 1 0 -1 8];

    m,n]=size(k);

    x=;y=;

    for j=1:m

    for i=1:n

    if k(i,j)~=0

    m(j)=i;

    breakend

    endend

    上列是每列的第一个非零值,然后得到另一个矩阵。

    d(1,1)=k(1,1);

    for j=2:n

    g(m(j),j)=k(m(j),j);

    for i=m(j)+1:(j-1)

    mm=max(m(i),m(j));

    for r=mm:(i-1)

    x=[x l(r,i).*g(r,j)];

    endg(i,j)=k(i,j)-sum(x);

    endfor i=m(j):(j-1)

    l(i,j)=g(i,j)/d(i,i);

    endfor r=m(j):(j-1)

    y=[y l(r,j)*g(r,j)];

    endd(j,j)=k(j,j)-sum(y);end

  2. 匿名用户2024-01-30

    程序不完整。

    未给出矩阵 A,并且缺少 n 个末端

    k=[1 -1;-1 1];

    n=max(size(k));

    for j=1:n

    if a(j,:)=0

    m(j)=a(j,:)

    j=j+1;

    end 是找到每列的第一个非零值,然后创建另一个矩阵。

    d(1,1)=k(1,1);

    for j=1:n

    g(m(j),j)=k(m(j),j);

    endfor j=1:n

    for i=m(j):(j-1)

    for r=m(j):(i-1)

    x=l(r,i)*g(r,j);

    g(i,j)=k(i,j)-sum(x);

    endfor j=1:n

    for i=m(j):(j-1)

    l(i,j)=g(i,j)/d(i,i);

    for j=1:n

    for i=m(j):(j-1)

    for r=m(j):(j-1)

    x=l(r,i)*g(r,j);

    d(j,j)=k(j,j)-sum(x);

    endend

    endend

    endend

    endend

  3. 匿名用户2024-01-29

    我写了第一部分(下图),第二部分我不懂G算法,所以你没有解释清楚。 此外,你有很多语法错误,所以我建议你看看编程的基础知识。

    k=[ 5 -3 1 0 -2 0 0 0;-4 16 -5 3 -2 0 0 4;0 -5 10 -3 0 -1 3 0;0 3 -3 5 0 0 4 0;-2 -2 0 0 12 -4 0 1;0 0 -1 0 -4 16 -2 0;0 0 3 4 0 -2 12 -1;0 4 0 0 1 0 -1 8];

    m,n]=size(k)

    for j=1:n

    for i=1:m

    if k(i,j)~=0

    m(j)=k(i,j)

    breakend

    endend

    上面是找到每列的第一个非零值,并将该值存储在 m 数组中。

  4. 匿名用户2024-01-28

    1.首先,您需要打开文件,修改**格式命令如下cd(需要设置为工作路径的地址),然后按回车键即可生效。

    2.或者在命令行窗口中输入pathtool,按回车键,然后会弹出设置路径的窗口。

  5. 匿名用户2024-01-27

    你说的是命令窗口中的**,对吧? 您可以创建一个新的编辑器,即菜单栏左上角的第一个按钮,然后 F5 在命令窗口中运行,如果出现错误,请直接在编辑器中修改它。

  6. 匿名用户2024-01-26

    返回并查找更改。

    您可以逐段注释以查看错误的确切出现位置。

  7. 匿名用户2024-01-25

    1. 受试者的MATLAB版本是什么? SIND 和 COSD 是 MATLAB

    引入的函数用于以角度为单位计算三角函数,如果是更高版本,一般情况下不应报告为此类错误。 例如,上面的错误消息是:

    ?error using ==sind at 16

    argument should be real.

    2. 您可以自己定义这两个函数:

    sind=@ x)sin(sym(pi)/180*x);

    cosd=@ x)cos(sym(pi)/180*x);但是,由于求解函数错误地将 pi 视为变量,因此会导致以下错误:

    ?error using ==solve at 134

    error,(求解中)一个常量作为变量无效,pi 避免这个问题的方法是显式指定要求解的变量:

    s = solve(eq1,eq2,eq3,eq4,eq5,eq6,longi, lati, h1, t1, h2, t2) 但结果是空的,可能的原因是:(1)方程组没有解; (2)有解,但找不到解函数。

    3. 可以尝试使用fsolve求解数值解,但需要注意的是,这个函数本质上是将解方程转换为优化问题,结果与初始值有关。

  8. 匿名用户2024-01-24

    total=sum(weights,2);这句话表示每行权重中元素的总和,最终结果是一个列向量。 total=total(:,ones(4,1));这意味着前一个总计的所有元素都会被复制 4 次并重新分配给总计。

    也就是说,最终的总数是一个 40000 * 4 矩阵,每行的四个元素是相同的。

  9. 匿名用户2024-01-23

    主体提供的**没有错误,但运行时有错误,问题是主体颠倒了自定义函数和主程序的顺序。

    方法一:将y1=q(r)、y2=r(q)和y3=s(r)自定义函数保存为和文件,然后将主程序保存为文件,然后在命令窗口中执行>>main % enter

    方法二:创建文档,按以下顺序编写程序

    主程序

    function main( )

    clear;clc;

    format short

    disp([r',theta'])

    Q(R) 自定义函数、R(Q) 自定义函数和 S(Q) 自定义函数

    function y1=q(r)

    c1=;

    function y2=r(q)

    y2=q;

    function y3=s(r)

    c1=;

    最终执行可用

  10. 匿名用户2024-01-22

    题主给出的问题6可以这样解决。

    1. 将 (1+pi) (1, 3) 分配给 x

    2. E (-x) 用 exp(-x) 表示。

    3.角度的三角函数可以用sind、cosd、tand等表示,即tan(73°)可以用tand(73)表示。

    4. 绝对值可以用abs函数表示,即abs(sin(x) 2-sin(x 2))。

    因此,问题 6 应该写成这样:

    x=(1+pi)^(1/3);

    y=(exp(-x)-tand(73))/1e-5+log(abs(sin(x)^2-sin(x^2)))

    执行结果如下。

  11. 匿名用户2024-01-21

    首先要给出z1z2z3的初始值,否则就求不解了,求解条件少了!! 我给出了一个初始条件,使它们都容错为0,取100个时间点作为区间,然后求解,结果如下:你的方程组就像结构动力学中的MCK方程,结果类似于正弦波,程序你可以私信我,建议你再去一次。

相关回答
5个回答2024-08-03

看看你的MATLAB版本,更高版本是@fitness

5个回答2024-08-03

x 作为时间 t 函数的方程呢?

7个回答2024-08-03

你很困惑。

函数 kutta % 最好有输入和输出,例如函数 [y1,y2]=kutta(x1,x2)。 >>>More

6个回答2024-08-03

山东聊城市江北水城。

6个回答2024-08-03

i=imread('');

i=double(i); >>>More