土木年华 发表于 2010-9-19 11:21

一个程序的求助

本帖最后由 土木年华 于 2010-9-19 11:22 编辑

各位大侠大家好,小弟请教一个问题。近来导师要申请一个项目,要进行一matlab程序的运行演示,我在做这个程序(程序在附件,是关于一个瞬态响应,有用的朋友可以下载),其中程序方法有几种选择,比如TypeMethod=5;             % option for selecting the solution method
                                             % = 1 central difference scheme
                                             % = 3 Houbolt integration scheme
                                             % = 4 Wilson   integration scheme
                                             % = 5 Newmark integration scheme
导师的意思是 想做到在MATLAB主窗口中直接输入1、3、4、5后分别得出各自的结果,以便于演示和比较各种方法的不同。
求教各位大侠,这样该怎么弄,谢谢指教!

qibbxxt 发表于 2010-9-19 11:24

用input和switch

土木年华 发表于 2010-9-19 11:26

回复 qibbxxt 的帖子
谢谢你给答复,我对着还不大熟悉,你能具体给讲解一下吗 ,或者给举个例子,谢谢你

   

qibbxxt 发表于 2010-9-19 13:45

回复 土木年华 的帖子


    请看帮助文件,里面有详细的例子介绍的

土木年华 发表于 2010-9-19 16:53

回复 qibbxxt 的帖子
你好,还得麻烦问你一下,我要是想输完1运行出来结果,再想直接在主窗口输入3、4、5就出各自的结果,而不至于输入3或4或5再次运行程序都得重新运行主程序,怎么弄?
我学matlab还不精,希望你能给解答一下,非常谢谢你

   

Happy99 发表于 2010-9-19 17:59

回复 土木年华 的帖子
使用while回圈, 当TypeMethod=0才跳出!

土木年华 发表于 2010-9-19 20:56

回复 Happy99 的帖子你好,能说的具体点吗,麻烦你拉


   

qibbxxt 发表于 2010-9-20 09:02

回复 土木年华 的帖子clear;clc;close all
while 1
    a=input('请输入数字(0表示退出):','s');
    a=str2num(a);
    if ~isnumeric(a)
      error('请输入整数');
    end
    if a==0
      break;
    end
    a=ceil(a);
    a(a>4)=4;
    for i=1:length(a)
      switch a(i)
            case 1
%               add your methods
                disp('第1种方法');
            case 2
%                  add your methods
                disp('第2种方法');
            case 3
%                  add your methods
                disp('第3种方法');
            otherwise
%                  add your methods
                disp('第4种方法');
      end
    end
end请输入数字(0表示退出):1
第1种方法
请输入数字(0表示退出):3,4
第3种方法
第4种方法
请输入数字(0表示退出):0
>>

土木年华 发表于 2010-9-20 09:31

回复 qibbxxt 的帖子
非常谢谢你!

   
页: [1]
查看完整版本: 一个程序的求助