matlab转scilab语言,为什么从matlab转换到scilab时会出现“错误的输出参数数”错误?...

博主在尝试将一段Matlab代码转换为Scilab时遇到了错误。代码涉及波方程的模拟,使用了Gaussian脉冲,并在图形上显示了初始条件。在更新YData属性时出现错误:'错误的输出参数数目'。问题集中在`handle_line=plot(x,u(:,2),'LineWidth',2);`这一行。
摘要由CSDN通过智能技术生成

我试图把这个matlab代码转换成scilab,但是我有一些问题。

N = 101;

L = 4*pi;

x = linspace(0,L,N);

% It has three data set; 1: past, 2: current, 3: future.

u = zeros(N,3);

s = 0.5;

% Gaussian Pulse

y = 2*exp(-(x-L/2).^2);

u(:,1) = y;

u(:,2) = y;

% Plot the initial condition.

handle_line = plot(x,u(:,2),'LineWidth',2);

axis([0,L,-2,2]);

xlabel('x'); ylabel('u');

title('Wave equation');

% Dirichet Boundary conditions

u(1,:) = 0;

u(end,:) = 0;

filename = 'wave.gif';

for ii=1:100

disp(['at ii= ', num2str(ii)]);

u(2:end-1,3) = s*(u(3:end,2)+u(1:end-2,2)) ...

+ 2*(1-s)*u(2:end-1,2) ...

- u(2:end-1,1);

u(:,1) = u(:,2);

u(:,2) = u(:,3);

handle_line.YData = u(:,2);

drawnow;

frame = getframe(gcf);

im = frame2im(frame);

[A,map] = rgb2ind(im,256);

if ii==1

imwrite(A,map,filename,'gif','LoopCount',Inf,'DelayTime',0.05);

else

imwrite(A,map,filename,'gif','WriteMode','append','DelayTime',0.05);

end

end

我得到这行的一个错误:

handle_line = plot(x,u(:,2),'LineWidth',2);

错误状态:错误的输出参数数目

我应该换什么来修理它?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值