Matlab中xa(:,1)是什么意思
是指矩阵(或者数组,看你xa怎么定义了)的源码第一列的全部元素(或者对应数组的时候就是第一个元素)
例如 数组的时候:>> xa=[1,2,3,4,5,6,7,8]
xa =
1 2 3 4 5 6 7 8
>> t=xa(:,1)
t =
1
矩阵的时候:>> xa=[
]
xa =
>> t=xa(:,1)
t =
以后遇到类似的问题自己用matlab试试就知道大概意思了,重在多用
matlab二分法编程
这是源码think导航源码源代码:在matlab中保存为:bisection.m
function rtn=bisection(fx,xa,xb,n,delta)
% 二分法解方程
% fx是由方程转化的关于x的函数,有fx=0。源码
% xa 解区间上限
% xb 解区间下限
%解区间人为判断输入
% n 最多循环步数,源码xprivacy 源码防止死循环。源码xssme源码
%delta 为允许误差
x=xa;fa=eval(fx);
x=xb;fb=eval(fx);
disp(' [ n xa xb xc fc ]');
for i=1:n
xc=(xa+xb)/2;x=xc;fc=eval(fx);
X=[i,源码xa,xb,xc,fc];
disp(X),
if fc*fa<0
xb=xc;
else xa=xc;
end
if (xb-xa)<delta,break,end
end
例子:用二分法求方程x3-x-1=0在区间[1,1.5]内的源码一个实根,要求两次近似值之间的源码误差不超过0.。
>>f='x^3-x-1';
>>bisection(f,源码1,1.5,,^(-3))
[ n xa xb xc fc ]
1. 1. 1. 1. -0.
2. 1. 1. 1. 0.
3. 1. 1. 1. -0.
4. 1. 1. 1. 0.
5. 1. 1. 1. 0.
6. 1. 1. 1. -0.
7. 1. 1. 1. -0.
8. 1. 1. 1. 0.
9. 1. 1. 1. 0.
从结果可以看出,
这个解为:1.
本题的结果如下图:我选的区间为[0,1.5],你可以换个区间,源码再算出另一个根来(如果有的源码话)
x=0.
2024-12-23 06:59
2024-12-23 06:12
2024-12-23 06:05
2024-12-23 04:52
2024-12-23 04:48