快捷搜索:  汽车  科技

基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面(基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面)

基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面(基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面)Step1:输入系数矩阵A、系数矩阵b、初始点、精度、最大迭代次数等1.实例求解前面介绍过直接法求解线性方程组,今天主要是将两种迭代法雅克比迭代法与高斯-赛德尔迭代法求解。本人基于MATLAB的GUI界面设计了一个雅克比迭代法与高斯-赛德尔迭代法求解方程计算,能够实现雅克比迭代法与高斯-赛德尔迭代法求解方程的功能,具体的界面如下:在文本框内输入矩阵A和矩阵b(行向量)的数据、初始点x0(行向量)、精度和最大迭代次数——点击雅克比迭代法求解按键和高斯-赛德尔迭代法求解按键——出现结果显示——点击清除可以清除输入——点击关闭可以关闭当前的GUI界面。需要基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面完整GUI程序,可以进行打赏后截图(30元及以上),进行联系,或者在微信公众号云龙派点击"联系掌门"进行联系,或者在公众号内回复截图 几小时内会回复。界面编程

MATLAB线性方程组的求解及应用,非齐次线性方程组是数学方程组的一种,它符合以下的形式:

基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面(基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面)(1)

如果用线性代数中的概念来表达,则线性方程组可以写成:

Ax= b

这里的A是m×n 矩阵,x是含有n个元素列向量,b是含有m 个元素列向量。

基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面(基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面)(2)

前面介绍过直接法求解线性方程组,今天主要是将两种迭代法雅克比迭代法与高斯-赛德尔迭代法求解。

本人基于MATLAB的GUI界面设计了一个雅克比迭代法与高斯-赛德尔迭代法求解方程计算,能够实现雅克比迭代法与高斯-赛德尔迭代法求解方程的功能,具体的界面如下:

在文本框内输入矩阵A和矩阵b(行向量)的数据、初始点x0(行向量)、精度和最大迭代次数——点击雅克比迭代法求解按键和高斯-赛德尔迭代法求解按键——出现结果显示——点击清除可以清除输入——点击关闭可以关闭当前的GUI界面。需要基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面完整GUI程序,可以进行打赏后截图(30元及以上),进行联系,或者在微信公众号云龙派点击"联系掌门"进行联系,或者在公众号内回复截图 几小时内会回复。界面编程不易,还请见谅!

基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面(基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面)(3)


1.实例求解

基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面(基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面)(4)

Step1:输入系数矩阵A、系数矩阵b、初始点、精度、最大迭代次数等

参数。

基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面(基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面)(5)

Step2:点击雅克比迭代法求解按键。

基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面(基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面)(6)

Step2:点击雅克比迭代法求解按键。

基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面(基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面)(7)

Step3:点击高斯-赛德尔迭代法求解按键。

基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面(基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面)(8)

Step4:点击清除按键。

基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面(基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面)(9)

高斯-赛德尔迭代法收敛速度比雅克比迭代法要快一些,可以修改最大

迭代次数进行比较。

最大迭代次数20

基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面(基于MATLAB的雅克比与高斯-赛德尔迭代法的求解方程组GUI计算界面)(10)


2.GUI部分程序如下

function varargout = yakebi(varargin) gui_Singleton = 1; gui_State = struct('gui_Name' mfilename ... 'gui_Singleton' gui_Singleton ... 'gui_OpeningFcn' @yakebi_OpeningFcn ... 'gui_OutputFcn' @yakebi_OutputFcn ... 'gui_LayoutFcn' [] ... 'gui_Callback' []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State varargin{:}); else gui_mainfcn(gui_State varargin{:}); end function yakebi_OpeningFcn(hObject eventdata handles varargin) handles.output = hObject; movegui(gcf 'center'); %关闭窗口的名字 修改为其他名字 set(gcf 'NumberTitle' 'off' 'Name' '雅克比迭代法与高斯-赛德尔迭代法计算GUI系统'); % Update handles structure guidata(hObject handles); % --- Outputs from this function are returned to the command line. function varargout = yakebi_OutputFcn(hObject eventdata handles) varargout{1} = handles.output; function edit1_Callback(hObject eventdata handles) if ispc && isequal(get(hObject 'BackgroundColor') get(0 'defaultUicontrolBackgroundColor')) set(hObject 'BackgroundColor' 'white'); end function edit2_Callback(hObject eventdata handles) function edit2_CreateFcn(hObject eventdata handles) if ispc && isequal(get(hObject 'BackgroundColor') get(0 'defaultUicontrolBackgroundColor')) set(hObject 'BackgroundColor' 'white'); end function edit3_Callback(hObject eventdata handles) function edit3_CreateFcn(hObject eventdata handles) if ispc && isequal(get(hObject 'BackgroundColor') get(0 'defaultUicontrolBackgroundColor')) set(hObject 'BackgroundColor' 'white'); end function edit4_Callback(hObject eventdata handles) function edit4_CreateFcn(hObject eventdata handles) if ispc && isequal(get(hObject 'BackgroundColor') get(0 'defaultUicontrolBackgroundColor')) set(hObject 'BackgroundColor' 'white'); end function edit5_Callback(hObject eventdata handles) function edit5_CreateFcn(hObject eventdata handles) if ispc && isequal(get(hObject 'BackgroundColor') get(0 'defaultUicontrolBackgroundColor')) set(hObject 'BackgroundColor' 'white'); end function edit6_Callback(hObject eventdata handles) % --- Executes during object creation after setting all properties. function edit6_CreateFcn(hObject eventdata handles) if ispc && isequal(get(hObject 'BackgroundColor') get(0 'defaultUicontrolBackgroundColor')) set(hObject 'BackgroundColor' 'white'); end function edit7_Callback(hObject eventdata handles) % --- Executes during object creation after setting all properties. function edit7_CreateFcn(hObject eventdata handles) if ispc && isequal(get(hObject 'BackgroundColor') get(0 'defaultUicontrolBackgroundColor')) set(hObject 'BackgroundColor' 'white'); end % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject eventdata handles) A = str2num(get(handles.edit1 'string')); b = str2num(get(handles.edit2 'string')); x0 = str2num(get(handles.edit3 'string')); eps = str2num(get(handles.edit4 'string')); max_n = str2num(get(handles.edit5 'string')); x = jacobi(A b' x0' eps max_n); set(handles.edit6 'string' num2str(x')); % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject eventdata handles) set(handles.edit1 'string' ''); set(handles.edit2 'string' ''); set(handles.edit3 'string' ''); set(handles.edit4 'string' ''); set(handles.edit5 'string' ''); set(handles.edit6 'string' ''); set(handles.edit7 'string' ''); % --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject eventdata handles) closereq; % --- Executes on button press in pushbutton4. function pushbutton4_Callback(hObject eventdata handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) A = str2num(get(handles.edit1 'string')); b = str2num(get(handles.edit2 'string')); x0 = str2num(get(handles.edit3 'string')); eps = str2num(get(handles.edit4 'string')); max_n = str2num(get(handles.edit5 'string')); x_result = Gauss(A b' x0' eps max_n ); set(handles.edit7 'string' num2str(x_result'));


本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。


作 者 | 郭志龙
编 辑 | 郭志龙
校 对 | 郭志龙

猜您喜欢: