matlab数学建模题及答案,数学建模中30道经典 MATLAB程序.doc

编程

1、编写一程序,要求输入五个整数,然后由小到大排序再输出。

%输入n个数,然后由小到大输出

a=input('输入数据:')

n=length(a); %输入数据的长度

i=1;j=1; %赋初值

for i=1:n %需要进行n次比较

for j=2:n %与相邻的进行n-1次比较

if a(j-1)>a(j)

b=a(j-1);

a(j-1)=a(j);

a(j)=b; %比较前者是否比后者大,大的就互换

end

end

end

fprintf(' %d',a) ;

2、将一个整型数组的元素按逆序重新存放(如原序为:8,6,5,4改为4,5,6,8)。

function lin5

a=input('输入数据:')

n=length(a);%求输入a的长度

for i=1:n/2

b=a(i);

a(i)=a(n+1-i);

a(n+1-i)=b;

end

fprintf(' %d',a)

3、输入一个字符,如果是大写字母,则将其转换成小写并输出,若是小写,则直接输出;若是非字母字符则打印:‘datarror’.

function xin2

a=input('输入数据:','s')

if a>=65&a<=90

fprintf('shuchu is %c\n',a+32);

elseif a>=97&a<=122

fprintf('shuchu is %c\n',a);

else

a='dataerror';

fprintf('shuchu is %s',a);

end

4、输入一个整数,写一程序输出它是几位数。

function lin6

a=input('输入数据:','s')

n=length(a)%求输入a的长度

b=n;

fprintf('weishu %d',b);

end

5、写一程序求1!+2!+………………+10!

function w

i=1;j=1;s=0; %赋初值

while i<=10

j=j*i;

s=s+j;

i=i+1;

end

fprintf('s is %d\n',s);

6、从键盘上输入a与n的值,计算sum=a+aa+aaa+aaaa+……(共n项)的和。例如a=2,n=4,sum=2+22+222+2222.

function q

a=input('输入数据:')

n=input('输入数据:')

i=1;sum=0;he=0;

while i:n

he=he+a*10^(i-1);

sum=sum+he;

i=i+1;

end

fprintf('sum is %ld',sum);

end

7、编程求数列1,1/2 ,1/3 , , ,…………的所有大于等于0.000001的数据项之和并输出结果。

function xin4

i=1;s=1;%赋初值

for i=1:1000000

a=1/(i+1);

while a>=0.000001

s=s+a;

break

end

end

fprintf('he is %ld',s);

8、求3*3矩阵的主对角线元素之和。

%求3*3矩阵主对角线元素之和

function y

a=input('输入矩阵:')

f=a(1,1)+a(2,2)+a(3,3);

fprintf('%6d\n',f);

end

9、从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“not exist”。

function lin11

a=input('输入数据:')

for i=1:10

w=0;

if rem(a(i),7)==0

w=1;

break

end

end

if w==1

fprintf('shuchu is %d',a(i));

else

fprintf('shuchu is not exist%d');

end

10 设计一个用于计算个人所有税的程序。假设个人所得税的缴纳标准为:月收入少于等于800元者不纳税;超出800元的部分,纳税5%;超出2000元的部分,纳税10%;超出5000元的部分,纳税20%;超出10000元的部分,纳税30%;超出100000元的部分,纳税40%。

function xin7

a=input('输入数值:')

if a>100000

j=(a-100000)*0.4+90000*0.3+50

  • 4
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB里分析房价问题可以采用以下步骤: 1. 收集数据:收集有关房价的数据,包括房屋大小、位置、建筑年份等信息。 2. 数据预处理:对收集到的数据进行清洗、去重、缺失值填充等预处理操作,使数据更加完整、准确、规范。 3. 数据可视化:使用MATLAB的绘图工具,对数据进行可视化展示,例如绘制散点图、直方图、箱线图等,以便于观察数据分布和异常值等情况。 4. 建立回归模型:选择适当的回归模型,例如线性回归、岭回归、lasso回归等,使用MATLAB的回归分析工具箱进行建模和评估。 5. 模型优化:根据模型评估结果,对模型进行优化,例如调整模型参数、选择合适的特征变量、使用正则化等方法。 6. 模型预测:使用已建立的模型对新数据进行预测,例如预测某个地区的房价等。 以下是一个简单的MATLAB程序,用于实现线性回归模型: ```matlab % 导入数据 data = readtable('house_price.csv'); X = data{:, 1:3}; % 特征变量 y = data{:, 4}; % 响应变量 % 建立线性回归模型 mdl = fitlm(X, y); % 模型评估 disp(mdl); % 预测 new_data = [150, 3, 1995]; y_pred = predict(mdl, new_data); disp(y_pred); ``` 其,`house_price.csv`是包含房价数据的CSV文件,特征变量包括房屋大小、卧室数量和建筑年份,响应变量为房价。程序先导入数据,然后使用`fitlm`函数建立线性回归模型,并使用`predict`函数对新数据进行预测。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值