《应用地球物理学》课程作业基于MATLAB的球体重力正演程序实验报告
1一 程序简介本程序基于MATLAB软件的GUI模块编写,旨在实现球体重力正演结果的可视化分析。MATLAB是一个高级的编程语言,其矩阵思想方便了地球物理的编程工作。随着该语言和相应软件的发展,其内部也集成了许多模块,如该实验用到的GUI模块。在该模块中,可以通过窗口、按键和赋值框等基本元素的组合,编写出可视化的应用程序,再配合MATLAB强大的作图功能,可以实现正演结果的展示与分析。该程序应包含以下内容:可以自由输入参数,如球体半径,埋深和剩余密度。可以计算出Δg、VZZ、VXZ和VZZZ这四种重力异常及其导数的对应值。可以绘制剖面图及平面图两种图像。二 源程序由于GUI程序的头文件均大同小异,这里只列出赋值框及绘图按键的程序代码。% --- Executes on selection change in popupmenu1.function popupmenu1_Callback(hObject, eventdata, handles)% hObject handle to popupmenu1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array% contents{get(hObject,'Value')} returns selected item from popupmenu1s=get(hObject,'value');handles.s = s;guidata(hObject, handles);
function edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text% str2double(get(hObject,'String')) returns contents of edit1 as a doubled = str2double(get(hObject,'string'));handles.d = d;guidata(hObject, handles);
function edit2_Callback(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit2 as text% str2double(get(hObject,'String')) returns contents of edit2 as a doubler = str2double(get(hObject,'string'));handles.r = r;guidata(hObject, handles);
function edit3_Callback(hObject, eventdata, handles)% hObject handle to edit3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and u